【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解决传递依赖性
相关推荐
jarenyVO几秒前
Spring Cloud Gateway 全面学习指南
java·gateway
一名小码农12 分钟前
线上GC count突增问题排查及修复记录
java·gc·调优·线上问题·死循环·线上
RexTechie1 小时前
Spring Cloud Alibaba 中间件
java·spring cloud·中间件
chanalbert1 小时前
Spring Boot诞生背景:从Spring的困境到设计破局
java·spring boot·spring
小袁搬码1 小时前
Eclise中Lombck配置
java·eclipse·lombok
huisheng_qaq1 小时前
【Spring源码核心篇-08】spring中配置类底层原理和源码实现
java·spring·spring源码·spring配置类解析·spring注解与实现
武昌库里写JAVA1 小时前
【微服务】134:SpringCloud
java·开发语言·spring boot·学习·课程设计
weixin_419658311 小时前
数据结构之二叉树
java·数据结构
yaoxin5211231 小时前
105. Java 继承 - 静态方法的隐藏
java·开发语言·jvm
LUCIAZZZ2 小时前
项目拓展-Apache对象池,对象池思想结合ThreadLocal复用日志对象
java·jvm·数据库·spring·apache·springboot