Maven 之在IDEA中解决Jar包冲突问题

本文介绍了解决Java项目中Jar包冲突的三个原则:第一声明优先、路径近者优先及直接排除法,并演示了如何在IDEA中使用MavenHelper插件解决实际问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接依赖

A项目导入了B包,可以说A直接依赖B。

传递依赖

A项目导入了B包,B包直接依赖于C,最终A项目中也可以使用C,可以说A传递依赖于C。

解决jar包冲突的三个原则

第一声明优先原则

哪个包的坐标在靠上的位置,哪个就是第一声明的包,最终进入项目的就是哪个包的依赖版本。

导入spring-context和spring-beans依赖:
在这里插入图片描述
发现beans和context下都依赖了spring-core:
在这里插入图片描述
发现spring-core最终版本是4.2.6,使用了context下的包,因为context先声明的:
在这里插入图片描述

路径近者优先原则

直接依赖路径比传递依赖路径近,哪个路径近,进入到项目中的就是哪个的依赖包。

按照上面的案例进行分析,发现context中包含了beans包:
在这里插入图片描述
因为beans是直接依赖的,路径比context下的beans包近,所以使用了5.0.5版本:
在这里插入图片描述

直接排除法

使用exclusion标签直接来排除某个包下的依赖包。

还是安装上面的案例进行分析,context和beans中都包含了core包,由于在context中排除了core包,就算context先声明,最终core包使用的还是beans中的core包:
在这里插入图片描述

在IDEA中解决Jar包冲突

首先安装IDEA下的一款插件:Maven Helper
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在视图中分析与排除:
针对红色的部分,右键选择exclude就可以了。
在这里插入图片描述
排除冲突后刷新一下,会自动添加排除标签:
在这里插入图片描述
最后来一个总图。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值