【Maven】如何发现,定位,解决依赖冲突

发现冲突

运行的时候可能报出错误xx类找不到xx方法,xx类找不到,很有可能就是冲突导致的。

定位冲突根因

通过idea maven插件

idea安装插件,maven helper

比如我有两个依赖,guava和findbug。

他们都用到了jsr305,但是我依赖的版本不同。可以进入pom文件点击下面的通过Dependency Anazlyer来查看冲突。

通过maven命令

bash 复制代码
mvn dependency:tree

可以打印出依赖关系树

通过jvm参数

bash 复制代码
-XX:+TraceClassLoading

在java进程启动时增加jvm参数,可以打印加载了哪些类,根据这些内容可以判断是不是加载错了。

解决冲突的方法:

  1. 使用同一版本。
  2. 通过调整pom文件依赖顺序,如果冲突版本差别不大,我建议把新版本放在上面,优先加载。
  3. 通过exclusion解决传递依赖性
相关推荐
ch.ju10 分钟前
Java programming(The third edition) Chapter Two——Null return value
java·开发语言
1.14(java)26 分钟前
Spring事务和事务传播机制
java·数据库·spring
AI人工智能+电脑小能手26 分钟前
【大白话说Java面试题】【Java基础篇】第34题:String、StringBuffer和StringBuilder的区别是什么
java·后端·面试
晓庆的故事簿28 分钟前
JAVA搭配RabbitMQ使用
java·rabbitmq·java-rabbitmq
折哥的程序人生 · 物流技术专研29 分钟前
第3篇:为何要配置环境变量?
java·开发语言·后端·面试
渔民小镇39 分钟前
4 行代码接入 Spring —— ionet 的生态融合之道
java·服务器·分布式·游戏
@杰克成1 小时前
Java学习22
java·python·学习·idea
人道领域1 小时前
【黑马点评日记】社交平台用户关注功能全解析Feed流相关操作
java·开发语言·数据库·redis·python
shehuiyuelaiyuehao2 小时前
算法18,二分查找
java·开发语言·算法