登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
maven为什么发生依赖冲突?怎么解决依赖冲突? ...
maven为什么发生依赖冲突?怎么解决依赖冲突?
[ 复制链接 ]
纪晴丽
2025-6-3 14:56:26
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
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
为什么
发生
相关帖子
新项目为什么推荐使用WebFlux,而非SpringMVC?
考陪诊师为什么选北京守嘉陪诊报名?
考陪诊师为什么选北京守嘉陪诊报名?
考陪诊师为什么选北京守嘉陪诊报名?
为什么关注 CE 认证 + 特变电工供应商?
咱们聊聊Spring循环依赖那点事儿:从“死锁”到“三级缓存”的奇妙之旅
Python新利器:用uv轻松管理venv虚拟环境和pip依赖包
为什么 Iceberg 在数据湖领域这么火
你的代码正在腐烂:为什么我们都不敢碰那座“屎山”?
为什么协程能让程序不再卡顿?——从同步、异步到 C++ 实战
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
新项目为什么推荐使用WebFlux,而非SpringMVC?
2
934
各卧唯
2025-12-09
安全
考陪诊师为什么选北京守嘉陪诊报名?
1
162
唐茗
2025-12-12
安全
考陪诊师为什么选北京守嘉陪诊报名?
1
931
陶田田
2025-12-12
安全
考陪诊师为什么选北京守嘉陪诊报名?
1
678
滕佩杉
2025-12-12
安全
为什么关注 CE 认证 + 特变电工供应商?
1
755
康器
2025-12-12
业界
咱们聊聊Spring循环依赖那点事儿:从“死锁”到“三级缓存”的奇妙之旅
1
712
赏听然
2025-12-14
业界
Python新利器:用uv轻松管理venv虚拟环境和pip依赖包
0
799
敖可
2025-12-16
业界
为什么 Iceberg 在数据湖领域这么火
0
249
季卓然
2025-12-16
业界
你的代码正在腐烂:为什么我们都不敢碰那座“屎山”?
0
614
蟠鲤
2025-12-18
业界
为什么协程能让程序不再卡顿?——从同步、异步到 C++ 实战
0
568
孟清妍
2025-12-19
回复
(3)
铜坠匍
2025-10-10 00:38:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
骆贵
2025-10-26 12:21:32
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
郗新语
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
9994891
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9982
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
1002
Kali2025.4+Cherry Studio一键配置HexStrik
414
PHP 之高级面向对象编程 深入理解设计模式
411
PHP 之高级面向对象编程 深入理解设计模式
568
升级curl版本,及升级后引起的动态库链接不
292
2025年GEO优化服务商全景对比:五大核心维
779
AI Agent详解
983
Buildah 简明教程:让镜像构建更轻量,告别
609
OceanBase 在滴滴大规模运维经验以及新功能
975
[CSS+]HTML Learn Data Day 2
96
掌握相关性分析:读懂数据间的“悄悄话”
138
嵌入式UI框架-抗锯齿画圆弧算法
935
嵌入式UI框架的渐变原理、渐变算法
219
日本股票 API 对接实战指南(实时行情与 IP
562
解决Docker磁盘空间告急:认识并清理“悬空
394
别再只会算直线距离了!用“马氏距离”揪出
530
企业进行信息化后,一定会提高效率吗?真相
516
n8n整合ffmpeg
492
从random随机数看验证码重复数字
525
OceanBase 向量索引优化指南
233
Vue2中能否实现输入中文自动转化为拼音, 且