1 依赖的传递
假如 A项目 依赖 a.jar 1.0.1,b.jar 1.0.1,没有直接依赖c.jar 1.0.1,但是b.jar 1.0.1依赖了c.jar 1.0.1,可以说A项目间接依赖了c.jar 1.0.1
B项目 依赖 a.jar 1.0.2,b.jar 1.0.2,c.jar 1.0.2.
C项目直接依赖 A,B项目
但是C中的pom文件先依赖A再依赖B
那么C中a.jar 的版本为1.0.1 a.jar都是直接依赖,按照依赖的优先顺序,而C中c的jar版本为1.0.2.
2 排除依赖冲突
使C项目不依赖A项目的jar包
<dependencies> <dependency> <groupId>B</groupId> <artifactId>B</artifactId> <version>0.0.1</version> <exclusions> <exclusion> <!--被排除的依赖包坐标--> <groupId>A</groupId> <artifactId>A</artifactId> <version>0.0.1</version> </exclusion> </exclusions> </dependency> </dependencies>