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