【maven】---pom.xml-dependencies

前言

    Maven在做项目开发的时候,需要用到多个jar包,这个时候,maven提供的中央仓库,就会根据依赖项,自动download需要的jar包,自动引用到项目中。

内容

    具体依赖配置,集中在pom.xml配置文件中。

DEMO

<dependency>
 <groupId>org.zlt.user</groupId>
 <artifactId>user-log</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <type>jar</type>
 <scope>compile</scope>
 <!-- 排除一些版本包 -->
 <exclusions>
  <exclusion>
     <groupId>log4j</groupId>
     <artifactId>log4j</artifactId>
  </exclusion>
 </exclusions>
</dependency>

    上面的是一个maven项目,项目packageorg.zlt.user,项目名称为user-log,该项目的版本号为0.0.1-SNAPSHOT,项目依赖范围为jar。依赖范围为compile。排除了log4j包。

每个依赖包含的参数为:

  • GroupIdartifactIdversion:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,maven根据坐标才能找到需要的依赖。
  • Type:依赖的类型,对应于项目坐标定义的packaging。大部分情况下,该元素不必声明,默认值为jar。(若为了一起打包,起到聚合作用,那么该依赖类型为pom

  • Scope:依赖的范围

依赖范围

Scope

对于编译classpath有效

对于测试classpath有效

对于运行时classpath有效

例子

Compile

Y

Y

Y

Spring-core

Test

Y

JUnit

Provided

Y

Y

Servlet-api

Runtime

Y

Y

JDBC驱动实现

System

Y

Y

本地的,maven仓库职位的类库文件


1、
a->b1.0项目之间的依赖关系:

      c->b1.1

      d->ac

      这个时候在dpom中,哪一个依赖先写就使用先写的依赖的版本。

2a->1.0

      c->b1.1

      d->ac->b1.0

      f->d,c

      如果路径的长短不一致就选择最小路径。

注意:如果希望精确的控制依赖包,可以使用依赖的排除功能进行控制(<exclusions>)。

  • exclusions:用来排除传递性依赖。

小结

    其实上面的依赖就和咱们平时的项目import类似。

原文地址:https://www.cnblogs.com/zhoulitong/p/6412302.html