Maven 依赖原则?

1、赖路径最短优先原则。

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

2、pom文 件中申明顺序优先。

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

3、覆写优先

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