最短路径优先
工程中依赖了a、b两个jar包,
在a jar包内引用了b jar包版本为1.0,路径为:Project > a > b(1.0)
工程中直接依赖的b jar包版本为2.0,路径为:Project > b(2.0)
由于b(2.0)路径最短,所以项目使用的是b(2.0)。
pom申明顺序优先
如果路径长度一样,
Project > a > b(1.0)
Project > c > b(2.0)
maven会根据pom文件声明的顺序加载,如果先声明a,则最后的依赖就会是b(1.0)。
<dependency>
<groupId>com.xzh</groupId>
<artifactId>a</artifactId>
</dependency>
<dependency>
<groupId>com.xzh</groupId>
<artifactId>c</artifactId>
</dependency>