1 基本用法
点击需要排查 Jar 冲突的项目,然后点击右上的 “Show Dependencies”按钮,生成 Jar 依赖图谱:
如果依赖的包很多,就会太小,看不清。这时可以右键点击Jar包依赖图谱,选择 Actual Size,会以实际尺寸打开依赖图谱。
还可以在图谱中键入 CTRL + F,打开搜索框,输入我们要查看的 jar 包关键字:
如果存在冲突,图谱就会以红线进行标注。比如这里的 mybatis 存在两个版本(3.5.6 与 3.4.6):
2 实战
发现一个项目使用 MyBatis 自定义拦截器不生效。
这个项目依赖于 mybatis-spring-boot-starter,利用 Jar 依赖图谱发现存在两个版本(2.1.1 与 2.1.4)
项目的 pom.xml 中明确依赖的 mybatis-spring-boot-starter 版本是 2.1.4。那么另一个版本是来自哪里?
继续查找,发现 pagehelper-spring-boot-starter 内部依赖了 mybatis-spring-boot-starter:
继续深入跟踪发现pagehelper-spring-boot-starter 内部依赖的 mybatis-spring-boot-starter 版本为 2.1.1。
后来在项目中屏蔽掉 pagehelper-spring-boot-starter,我们自定义的 MyBatis 拦截器就可以正常使用了。