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

如图:

相关推荐
SAP学习成长之路1 分钟前
如何在 Eclipse 中调试ABAP程序
java·开发语言·ide·eclipse·sap·abap
尘浮生10 分钟前
Java项目实战II基于Java+Spring Boot+MySQL的智慧养老中心管理系统(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·mysql·微信小程序·maven
克鲁德战士25 分钟前
【Java并发编程的艺术3】Java内存模型(下)
java·开发语言·redis
爱上语文27 分钟前
Maven快速入门及其POM
java·maven
ZmyCoder37 分钟前
SpringBoot中忽略实体类中的某个属性不返回给前端的方法
java
是小博同学鸭37 分钟前
【面向对象的程序设计——集合框架】主要接口
java·开发语言
ZmyCoder38 分钟前
springboot项目使用maven打包,第三方jar问题
spring boot·maven
世间万物皆对象42 分钟前
Spring Boot Web应用开发:数据访问
java·数据库·spring boot
A Runner for leave1 小时前
105.找到冠军
java·数据结构·python·算法·leetcode
开心羊咩咩1 小时前
element-ui 中el-calendar 日历插件获取显示的第一天和最后一天【原创】
java·javascript·ui