我的 slf4j 依赖项有问题。
在 POM.xml 上,我声明了这一点:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency>
但是我遇到了这个错误消息:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/C:/Users/r.rossi/.m2/repository/org/slf4j/slf4j-
nop/1.5.3/slf4j-nop-1.5.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/C:/Users/r.rossi/.m2/repository/org/slf4j/slf4j-
jdk14/1.5.6/slf4j-jdk14-
1.5.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/C:/Users/r.rossi/.m2/repository/org/slf4j/slf4j-
log4j12/1.7.12/slf4j-log4j12-
1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
explanation.
SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding.
SLF4J: Your binding is version 1.5.5 or earlier.
SLF4J: Upgrade your binding to version 1.6.x.
在这些目录和 Maven 依赖项上,我有 1.5 版本,但 POM.xml 文件上没有它们(如您所见),所以我不知道如何删除它们。如果我删除目录,它可以工作,但下次执行该项目会再次下载 1.5 版本。我怎样才能删除那些该死的 1.5 版本?
最佳答案
由于错误堆栈建议检查链接 Multiple Binding .
另外,检查Dependency Tree检查试图包含哪个外部依赖项(1.5.5 或更早版本)。
基本上,您的排除代码
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
应插入到依赖于早期版本 1.5.5 的依赖项中。
关于java - 无法删除 slf4j 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44965203/