欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

maven依赖冲突以及解决方法

时间:2023-07-04

依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突

一.maven命令

mvn -Dverbose dependency:tree

其中omitted for duplicate表示有jar包被重复依赖,最后写着omitted for conflict with xxx的,说明和别的jar包版本冲突了,而该行的jar包不会被引入。

omitted for conflict with 5.2.7.RELEASE,表示spring-core 5.2.0版本不会被项目引用,而spring-core 5.2.7版本会被项目引用

二、idea 插件

maven helper插件来检查依赖冲突

点开pom.xml会发现多了一个Dependency Analyzer视图

三、解决方法 a、使用第一声明者优先原则

谁先定义的就用谁的传递依赖,即在pom.xml文件自上而下,先声明的jar坐标,就先引用该jar的传递依赖、

b、使用路径近者优先原则

即直接依赖级别高于传递依赖

c、排除依赖

spring-core org.springframework

d、版本锁定

使用dependencyManagement 进行版本锁定,dependencyManagement可以统一管理项目的版本号,确保应用的各个项目的依赖和版本一致。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。