在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 分钟前
并行不等于更快:CompletableFuture 让你更慢的 5 个姿势
java·后端·性能优化
莓有烦恼吖8 分钟前
基于AI图像识别与智能推荐的校园食堂评价系统研究 04-评价系统模块
java·tomcat·web·visual studio
Wpa.wk13 分钟前
接口自动化 - 了解接口自动化框架RESTAssured (Java版)
java·数据库·自动化
wa的一声哭了15 分钟前
内积空间 内积空间二
java·开发语言·python·spring·java-ee·django·maven
SadSunset16 分钟前
Git常用命令
java·学习
晓131316 分钟前
后端篇——第二章 Maven高级全面教程
java·maven
普兰店拉马努金17 分钟前
【高中数学/排列组合】由字母AB构成的一个6位的序列,含有连续子序列ABA的序列有多少个?
java·排列组合
cike_y19 分钟前
Spring使用注解开发
java·后端·spring·jdk1.8
wa的一声哭了25 分钟前
内积空间 正交与正交系
java·c++·线性代数·算法·矩阵·eclipse·云计算
彭于晏Yan29 分钟前
Springboot集成Hutool导出CSV
java·spring boot·后端