-
依赖范围对传递依赖的影响
A<-----B A对B有依赖 (第一直接依赖)
B<-----C B对C有依赖 (第二直接依赖)
A<-----C A对C有间接依赖 (间接依赖)其中列时第一直接依赖,行时第二直接依赖
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191120142035767.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RlbW9uX0hM,size_16,color_FFFFFF,t_70 -
依赖包的就近原则:
如果A项目依赖log4J1.2.9,B项目依赖log4J1.2.8,那么C项目就会 依赖1.2.8
-
可选依赖
eg:
<dependency>
<groupId>cn.itcast.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
其中的optional是true时,这个依赖就不会被传递下去,如果是false是就可以传递,默认是false
4. 排除依赖
eg:
<dependency>
<groupId>cn.itcast.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId></artifactId>
<groupId></groupId>
</exclusion>
</exclusions>
</dependency>
在其中的exclusions中填写要排除的依赖。之后就不会被传递下来。