假如有maven项目A,项目B依赖项目A,项目C依赖项目B。那么我们可以说项目C依赖项目A。也就是说,依赖关系是:C->B->A
二、依赖原则那么我们执行项目C时,会自动的把项目B和项目A都下载下来,而这就是依赖的传递性。
三、依赖冲突解决方案1、间接依赖路径最短优先
2、pom文件中申明了顺序优先
eg:如果a-b=>c1、d-e=>c2,路径都一样。maven会以在pom文件中申明的顺序选择,如果pom文件中先申明了d再申明了a,最后项目会选择依赖c2.
*总的来说maven依赖原则:路径最短,路径一样选申明顺序靠前的
1、遇到冲突的时候第一步要找到maven加载的到什么版本的jar包,通过mvn dependency:tree查看依赖书。
2、之后通过maven的依赖原则来调整坐标在pom文件的申明顺序或者排除不需要的依赖。
3、通过标签将依赖排除
eg:



