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