【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解决传递依赖性
相关推荐
阿维的博客日记3 分钟前
那用到动态代理,关键的特征又是什么呢
java·动态代理
liming4956 分钟前
Maven中央库迁移
服务器·前端·maven
都说名字长不会被发现6 分钟前
Spring Boot Starter 中间件账号密码加密方案设计与实现
java·spring boot·后端·中间件
摇滚侠6 分钟前
Maven 依赖范围
java·maven
AKA__Zas7 分钟前
芝士算法(滑动窗口片 2.0)
java·算法·leetcode·学习方法
Zella折耳根2 小时前
复习篇-常用实用类
java
devilnumber8 小时前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
asdfg12589639 小时前
JavaBean是什么?怎么理解?有什么用途?
java·开发语言
摇滚侠11 小时前
SpringMVC 入门到实战 文件上传 75-77
java·后端·spring·maven·intellij-idea
GIS数据转换器11 小时前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机