一个项目Demo依赖了两个jar包,其中A-B-C-D-X(1.1.0) , A-D-X(1.2.0)。由于X(1.2.0)路径最短,所以项目使用的是X(1.2.0)。
如果A-B-X(1.1.0) ,A-C-X(1.2.0) 这样的路径长度一样怎么办呢?这样的情况下,maven会根据pom文件声明的顺序加载,如果先声明了B,后声明了C,那就最后的依赖就会是X(1.1.0)。
子pom内声明的优先于父pom中的依赖。