在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.

如图:

相关推荐
t***442312 小时前
【Springboot3+vue3】从零到一搭建Springboot3+vue3前后端分离项目之后端环境搭建
java
daidaidaiyu13 小时前
SpringCloud 微服务实现一则 (Eureka + Hystrix)
java·spring
小哥不太逍遥13 小时前
Technical Report 2024
java·服务器·前端
edisao13 小时前
序幕-内部审计备忘录
java·jvm·算法
shehuiyuelaiyuehao14 小时前
22Java对象的比较
java·python·算法
常利兵14 小时前
吃透Java操作符高阶:位操作符+赋值操作符全解析(Java&C区别+实战技巧+面试考点)
java·c语言·面试
不用89k14 小时前
SpringBoot学习新手项初识请求
java·spring boot·学习
码农阿豪15 小时前
SpringBoot实现公正有趣好玩的年会抽奖系统
java·spring boot·后端
Java爱好狂.15 小时前
RDB&AOF持久化原理解析
java·数据库·redis·后端开发·java编程·java程序员·java八股文
hashiqimiya15 小时前
gradle.properties使用系统代理
java