# Maven中包的依赖原则?如何解决冲突?
- 依赖原则?
- 依赖路径最短优先原则
A -> B -> C -> X(1.0)
A -> D -> X(2.0)
由于 X(2.0) 路径最短,所以使用 X(2.0)。
- 声明顺序优先原则
A -> B -> X(1.0)
A -> C -> X(2.0)
在 POM 中最先声明的优先,上面的两个依赖如果先声明 B,那么最后使用 X(1.0)。
- 覆写优先原则
子 POM 内声明的依赖优先于父 POM 中声明的依赖。
- 如何解决冲突?
-
找到 Maven 加载的 Jar 包版本,使用
mvn dependency:tree
查看依赖树,根据依赖原则来调整依赖在 POM 文件的声明顺序。 -
发现了冲突的包之后,剩下的就是选择一个合适版本的包留下,如果是传递依赖的包正确,那么把显示依赖的包exclude掉。如果是某一个传递依赖的包有问题,那么我们需要手动把这个传递依赖execlude掉
THE END
暂无评论内容