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插件查找、删除冲突版本

不使用插件的话,想要找到依赖关系就要去看依赖关系图,但是很复杂,而且不能直接删除其中的冲突版本,只能知道哪些包存在版本冲突

image

ctrl+滚轮、鼠标可以放大、拖动图,其中红色虚线对应的部分就是这个包依赖于另一个包的冲突版本

image


1.安装Maven Helper插件

文件-设置-插件-Mark

image


2.点击pom.xml文件

发现底部出现了文本和analyzer的选项

image


3.选择analyzer分析器,删除对应冲突包或修改包版本(conflict即选择冲突包)

image

posted @ 2023-04-08 16:18  脑袋凉凉  阅读(270)  评论(0编辑  收藏  举报