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

如图:

相关推荐
Rain的Java大神之路1 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
自动化监测Learner1 小时前
Navicat Premium 17 中文版安装教程(2026最新版)
java·linux·数据库
那个松鼠很眼熟w1 小时前
4.Spring-Ai入门案例
java·人工智能·spring
计算机毕设定制辅导-无忧学长1 小时前
《基于SpringBoot青年公寓出租管理系统的设计与实现》
java·vue.js·spring boot·青年公寓出租管理系统
泡海椒2 小时前
JQuick-Curl 二次开发:自定义解析器、扩展点开发指南,如何把框架能力真正变成团队资产
java·开发语言·okhttp·maven
青山木3 小时前
Hot 100 --- 数组中的第K个最大元素
java·数据结构·算法·排序算法
玛卡巴卡ldf3 小时前
【AICoding】笔试提示词设计思路
java·算法·ai编程
珍珠先生3 小时前
第10章 JDK 17 新特性:语法糖与新能力
java
吴声子夜歌4 小时前
ApacheCommons——commons-text(模板替换与文本算法)
java·开发语言·算法·apache
Haooog4 小时前
Agent 开发中的 Memory:State、短期记忆、长期记忆与 Memory Retrieval
java·agent·memory