【图解】idea中快速查找maven冲突
现象
今天启动项目时,总是以下报错,并退出SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/F:/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.13.3/log4j-slf4j-impl-2.13.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/F:/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
原因
日志组件嘛,都是引入的,所以应该是组件冲突了。cursor很快给我指出了问题,是
log4j-slf4j-impl-2.13.3.jar
log4j-to-slf4j.2.14.1
这2个包冲突了,
但cursor解决起来很慢,只好自己解决。
解决
首先,我到文件夹下发现log4j-slf4j-impl-2.13.3.jar这个包是新引入的,那我想把它干掉,那就需要知道这个包都是谁引入的。
又搜了一圈,发现idea一个很好用的功能。
- idea右边栏中,点maven,找到对应的模块
- 右键,然后 Show Dependencies…
- 就有出现复杂的依赖关系图(点击 下图中的3个小红色箭头,依赖关系可以看的更清楚)
- 在这个页面上,Ctrl+F查找你想要的jar包。
- 点击以上你找到的jar包,idea就会只显示这个jar的依赖关系图。
还是很方便的,之前都没发现这个功能,对于排查依赖冲突,还是很快的。