登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
maven为什么发生依赖冲突?怎么解决依赖冲突? ...
maven为什么发生依赖冲突?怎么解决依赖冲突?
[ 复制链接 ]
纪晴丽
2025-6-3 14:56:26
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
maven为什么发生依赖冲突?怎么解决依赖冲突?
我们在开发的时候,偶尔会遇到依赖冲突的时候,一般都是NoClassDefFoundError、ClassNotFoundException、NoSuchMethodError。打开搜索框又发现有这个类,明明就是引入进来了,就是找不到,让人头疼
1. 依赖冲突场景
在maven中依赖管理,依赖是可以传播的
假设:我有个A项目。第一步A项目引入B依赖,B依赖又会引入C依赖(版本1.1),那么A项目就同时拥有了B、C依赖(版本1.1),第二步我再引入D依赖,D依赖引入C依赖(版本1.2)
图解:
第一步:A -> B -> C(1.1版本)
第二步:A -> D -> C (1.2版本)
复制代码
问题来了,maven会取哪个版本的C进行引入?
2. 当冲突时maven怎么样选择
针对依赖冲突场景提出的问题,答案是:1.1版本
为什么是1.1 版本?因为maven有几条原则,按照原则优先级选择
2.1 就近原则
哪个依赖离的近取哪个
假设:我有个A项目。第一步A项目引入B依赖,B依赖又会引入C依赖(版本1.1)。第二步,在本项目pom中引入C依赖(版本1.2)
图解:
第一步:A -> B -> C(1.1版本)
第二步:A -> C (1.2版本)
复制代码
那必须是1.2版本啊
2.2 第一声明者原则
通俗一点就是,就近原则如果相同判断不出来,谁先来谁选择谁
假设:我有个A项目。第一步A项目引入B依赖,B依赖又会引入C依赖(版本1.1),那么A项目就同时拥有了B、C依赖(版本1.1),第二步我再引入D依赖,D依赖引入C依赖(版本1.2)
图解:
第一步:A -> B -> C(1.1版本)
第二步:A -> D -> C (1.2版本)
复制代码
那必须是1.1版本啊
3. 怎么样解决冲突?
idea下载Maven Helper插件
点击pom文件左下角
点击Conflicts选择冲突选项
右键,点击Exclude排除
返回pom文件发现自动加了exclusions标签进行排除
<exclusions>
<exclusion>
poi-ooxml-schemas</artifactId>
<groupId>org.apache.poi</groupId>
</exclusion>
</exclusions>
复制代码
一般来说取高版本的,因为高版本的一般都会兼容低版本
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
依赖
冲突
maven
为什么
发生
相关帖子
考陪诊师为什么选北京守嘉陪诊报名?
考陪诊师为什么选北京守嘉陪诊报名?
考陪诊师为什么选北京守嘉陪诊报名?
为什么关注 CE 认证 + 特变电工供应商?
咱们聊聊Spring循环依赖那点事儿:从“死锁”到“三级缓存”的奇妙之旅
Python新利器:用uv轻松管理venv虚拟环境和pip依赖包
为什么 Iceberg 在数据湖领域这么火
你的代码正在腐烂:为什么我们都不敢碰那座“屎山”?
为什么协程能让程序不再卡顿?——从同步、异步到 C++ 实战
浮点数的本质:为什么计算机无法精确表示0.1
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
考陪诊师为什么选北京守嘉陪诊报名?
1
171
唐茗
2025-12-12
安全
考陪诊师为什么选北京守嘉陪诊报名?
1
936
陶田田
2025-12-12
安全
考陪诊师为什么选北京守嘉陪诊报名?
1
682
滕佩杉
2025-12-12
安全
为什么关注 CE 认证 + 特变电工供应商?
1
755
康器
2025-12-12
业界
咱们聊聊Spring循环依赖那点事儿:从“死锁”到“三级缓存”的奇妙之旅
1
716
赏听然
2025-12-14
业界
Python新利器:用uv轻松管理venv虚拟环境和pip依赖包
0
807
敖可
2025-12-16
业界
为什么 Iceberg 在数据湖领域这么火
0
251
季卓然
2025-12-16
业界
你的代码正在腐烂:为什么我们都不敢碰那座“屎山”?
1
616
蟠鲤
2025-12-18
业界
为什么协程能让程序不再卡顿?——从同步、异步到 C++ 实战
0
571
孟清妍
2025-12-19
安全
浮点数的本质:为什么计算机无法精确表示0.1
0
371
荪俗
2025-12-21
回复
(3)
铜坠匍
2025-10-10 00:38:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
骆贵
2025-10-26 12:21:32
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
分享、互助 让互联网精神温暖你我
郗新语
2025-12-11 00:16:51
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
签约作者
程序园优秀签约作者
发帖
纪晴丽
2025-12-11 00:16:51
关注
0
粉丝关注
23
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9981
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9950
查看更多
今日好文热榜
490
【有手就行】SWIFT:花20分钟把大模型的名
559
论文速读记录 | 2025.12(2)
371
浮点数的本质:为什么计算机无法精确表示0.
726
Flink源码阅读:如何生成JobGraph
926
Python 潮流周刊#132:30 年 Python 自由职
480
大模型榜单周报(2025/12/20)
154
【节点】[LinearToGammaSpaceExact节点]原
789
Aspire 与 Azure Functions 深度集成:架构
1002
阿里Z-Image图像生成模型容器部署
309
痞子衡嵌入式:16MB以上NOR Flash地址模式
668
最新AI换脸软件,全面升级可直播,Mirage下
450
热点 Key 与大 Key 治理——识别、拆分、预
646
Media Extended
329
vlookup的终结者splookup,9个案例讲透查询
872
ROS2之Launch介绍
894
精选 8 个 .NET 开发实用的类库,效率提升
109
精选 8 个 .NET 开发实用的类库,效率提升
598
精选 8 个 .NET 开发实用的类库,效率提升
172
精选 8 个 .NET 开发实用的类库,效率提升
119
精选 8 个 .NET 开发实用的类库,效率提升