【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解决传递依赖性
相关推荐
mldlds20 分钟前
Spring Boot 实战:轻松实现文件上传与下载功能
java·数据库·spring boot
xxjj998a25 分钟前
Spring Boot 整合 Apollo 配置中心实战
java·spring boot·后端
武超杰39 分钟前
Spring 纯注解配置全解析(进阶版)
java·开发语言
AC赳赳老秦1 小时前
OpenClaw关键词挖掘Agent配置(附SOP脚本,可直接复制使用)
java·大数据·开发语言·人工智能·python·pygame·openclaw
茶本无香1 小时前
JDK 21 ZGC分代功能详解:配置、原理及生产环境实践
java·jvm
xxjj998a1 小时前
SpringBoot3.3.0集成Knife4j4.5.0实战
java
wellc1 小时前
Spring Boot 热部署
java·spring boot·后端
金銀銅鐵1 小时前
[Java] 从 class 文件看动态代理
java·后端
C++ 老炮儿的技术栈1 小时前
两个线程对socket 进行读和写,需要加锁吗
java·服务器·网络
萍萍学习2 小时前
蓝桥杯JAVA-4
java·职场和发展·蓝桥杯