maven踩坑-解决依赖冲突

2020-05-10  本文已影响0人  我不懂我不懂a

maven的主要功能是:项目构建项目依赖管理,软件项目持续集成,版本管理,项目站点描述信息管理

依赖冲突产生的原因

image.png

如图,项目X引入了Y包和G包,Y和G都依赖了Z,但是两个Z的版本不同,maven默认的机制是就近原则(最短路径),路径一样长的先加载哪个jar包就使用它。这样可能就就会报错:不同版本的jar包可能有的api不一样,版本不兼容。

通过命令来查看maven项目的依赖树,据说加-Dverbose是查看全部依赖树,不然就是一部分

mvn dependency:tree [-Dverbose]

查看某个jar包的依赖

mvn dependency:tree -Dverbose -Dincludes=groupId:artifactId

然后Fix它,使用exclusions标记排除依赖:


image.png

引用: https://blog.csdn.net/triski/article/details/82825637
https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html
https://dzone.com/articles/solving-dependency-conflicts-in-maven

上一篇下一篇

猜你喜欢

热点阅读