在MAVEN中版本依赖有冲突改怎么处理

1.为什么会出现版本依赖的冲突

如果存在版本冲突,通常可能会引发的报错是ClassNotFoundException、NoSuchMethodError等错误。Maven依赖版本冲突通常是由于间接依赖导致同一个jar包存在多个不同版本。例如,如果B依赖了A的1.0版本,而C依赖了A的2.0版本,当项目同时依赖B和C时,A的两个不同版本被引入项目中,就会间接依赖A的1.0和2.0版本。产生对应的冲突依赖。

2.处理方法

2.1 使用exclusions标签

使用exclusions可以排除特定的依赖。例如,如果我们只需要依赖A的1.0版本,那么在依赖C时,可以通过exclusions排除依赖C的时候对A的依赖。

如图,我们在依赖spring-boot-starter-test的时候,可以通过exclusions去掉对junit-vintage-engine的版本依赖。

2.2 dependencyManagement标签

我们可以使用dependencyManagement进行依赖的版本号的锁定。如:我们只依赖A的1.0版本,此时可以在父工程中限定A的版本为1.0.

如图:

相关推荐
砚底藏山河5 分钟前
python量化实操:回测数据缓存与重放
java·python·金融·1024程序员节
学长毕设10 分钟前
基于springboot的农资管理系统-附源码
java·spring boot·后端
晒太羊的猫28 分钟前
hot100子串
java·算法·leetcode
开开心心就好1 小时前
本地文件搜索工具,双击Ctrl就能呼出搜索
java·服务器·前端·支持向量机·ffmpeg·音视频·模拟退火算法
独隅1 小时前
Claude 高效使用指南深度评测
java·开发语言·claude·claude code
ByteCoder.1 小时前
班前十分钟的清单,按体检引导单来写
java·服务器·前端·助播虾
海的透彻1 小时前
如何让docker容器启动时用自定义的用户
java·docker·dubbo
疯狂学习GIS1 小时前
将谷歌地球引擎账号升级为Contributor与Partner层级的方法
java·数据库·人工智能
GG.WinGel1 小时前
质数数目(蓝桥杯练习题)
java·数据结构·算法·青少年编程·蓝桥杯