Java的jar包依赖版本冲突解决
参考:
https://blog.csdn.net/weixin_38898423/article/details/128178055
https://blog.csdn.net/Yal_insist/article/details/127669985
一、依赖冲突
不同的第三方jar包可能同时对某一个jar包的不同版本含有依赖,但是Maven解析pom.xml文件时,同一个jar包只会保留一个
Maven默认处理策略: 1.最短路径优先 Maven 面对 D1 和 D2 时,会默认选择最短路径的那个 jar 包, 即 D2。E->F->D2 比 A->B->C->D1 路径短1。 2.最先声明优先 如果路径一样的话,如: A->B->C1, E->F->C2 ,两个依赖路径长度都是 2,那么就选择最先声明。
二、使用Maven Helper插件查找、删除冲突版本
不使用插件的话,想要找到依赖关系就要去看依赖关系图,但是很复杂,而且不能直接删除其中的冲突版本,只能知道哪些包存在版本冲突
ctrl+滚轮、鼠标可以放大、拖动图,其中红色虚线对应的部分就是这个包依赖于另一个包的冲突版本
1.安装Maven Helper插件
文件-设置-插件-Mark
2.点击pom.xml文件
发现底部出现了文本和analyzer的选项
3.选择analyzer分析器,删除对应冲突包或修改包版本(conflict即选择冲突包)