maven依赖原则
a.间接依赖路径最短优先 (如:a-b-c1.0 , d-e-f-c1.1,则使用c1.0)
b.pom文件中申明顺序优先 (路径一样长时,则以pom文件中申明的顺序为准)
1,项目X会使用(Y,G,Z),Y、G依赖Z的不同版本,而且当前使用的与另一个版本不兼容,
2,我们正在使用哪个Z版本?依赖机制如下:
a,将使用库的版本(如项目Y),其节点最接近依赖关系树中的根(项目 X)。
b,如果同一库(如项目Y)有多个版本,则选择取决于POM文件中的依赖关系顺序。
3,解决冲突
1,最简单的解决方案是 在X的POM文件中将正确库的引入调整到错误库之前,如G调整到Y前面
2,或者直接在X中引入Z的最新版本,前提是Z支持向后兼容才引入最新的。
3,或者 排除掉冲突依赖,用<exclusions>标签