代码改变世界

maven 依赖优先原则

2019-05-30 22:44  龙年警官  阅读(8373)  评论(0编辑  收藏  举报

一、maven依赖原则

 

  • 依赖最短路径优先原则

 

        一个项目Demo依赖了两个jar包,其中A-B-C-X(1.0) , A-D-X(2.0)。由于X(2.0)路径最短,所以项目使用的是X(2.0)。

  • pom文件中申明顺序优先

 如果A-B-X(1.0) ,A-C-X(2.0) 这样的路径长度一样怎么办呢?这样的情况下,maven会根据pom文件声明的顺序加载,如果先声明了B,后声明了C,那就最后的依赖就会是X(1.0)。

 

 

  • 覆写优先

 

子pom内声明的优先于父pom中的依赖。

二、如何解决jar冲突

遇到冲突的时候第一步要找到maven加载的到时是什么版本的jar包,通过们mvn dependency:tree查看依赖树,通过maven的依赖原则来调整坐标在pom文件的申明顺序是最好的办法。

 

引用 https://www.jianshu.com/p/a26c1d8c4d1b