Maven中 SLF4J: Class path contains multiple SLF4J bindings. 的解决方法

问题

Maven中 SLF4J: Class path contains multiple SLF4J bindings. 的解决方法_第1张图片

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/Maven/MavenRepository/org/slf4j/slf4j-jdk14/1.7.25/slf4j-jdk14-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/Maven/MavenRepository/org/slf4j/slf4j-log4j12/1.7.10/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/Maven/MavenRepository/org/apache/logging/log4j/log4j-slf4j-impl/2.12.1/log4j-slf4j-impl-2.12.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]

slf4j-jdk14slf4j-log4j12log4j-slf4j-impl之间存在日志冲突。

解决办法:

找了很多博客,一直没有解决清楚,主要原因还是因为没有弄清楚这几个jar包之间的关系,最终在这篇博客https://www.cnblogs.com/hanszhao/p/9754419.html中知道了。

我的项目中是采用SLF4J与JDK合用,需要:slfj-jdk.jarslf4j-api.jar,其他的都不需要,在maven的依赖中删除不需要的jar包就可以了。

具体操作如下: 

(我有试过在终端中输入 mvn dependency:tree  ,可能是没有自己手动删除干净,最终还是没有解决,所以还是推荐以下做法)

在maven窗口中打开这个,

然后快捷键 “ctrl+F” ,再直接输入需要查找的jar包,

Maven中 SLF4J: Class path contains multiple SLF4J bindings. 的解决方法_第2张图片

找到后,右键选择 “Exclude” 或者快捷键 “shift+delete”,删除该jar包即可,我删除了slf4j-log4j12log4j-slf4j-impl

Maven中 SLF4J: Class path contains multiple SLF4J bindings. 的解决方法_第3张图片

你可能感兴趣的:(maven)