现有一个问题,A===>B===>C,A依赖于B,B依赖于C,那A依不依赖于C?
来看实例:
A依赖于B,B依赖于Junit
A的pom.xml
<dependencies>
<dependency>
<groupId>com.fei</groupId>
<artifactId>B</artifactId>
<version>1.0</version>
</dependency>
<dependencies>
B的pom.xml
<dependencies>
<!--Junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependencies>
此时看A项目的依赖库里面并没有junit4.12的jar包
接着继续来看:
将B项目的pom.xml做一下改动 ( 删除了scope范围的约束)
<dependencies>
<!--Junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependencies>
这时再看A项目的依赖库里面就有了junit4.12的jar包
结论:
A===>B===>C,A依赖于B,B依赖于C,要想A依赖于C则必须B对C的依赖的scope约束范围是compile