我对 SLF4J 有一个奇怪的双重错误。
我试图让 SLF4J 绑定到 Log4J。
在 Eclipse 中,当我运行 Maven Clean 和 Maven Install 时,我在 Maven Install 输出中得到了这个:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
稍后,在为项目运行 jUnit 测试时,其中一个测试调用了一个记录消息的方法(我还没有清理它以不记录)。
但我没有记录,而是收到以下消息:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/JDunn/.m2/repository/ch/qos/logback/logback-classic/0.9.30/logback-classic-0.9.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/JDunn/.m2/repository/org/slf4j/slf4j-log4j13/1.0.1/slf4j-log4j13-1.0.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
所以看来SLF4J先是加载不了一个Binder,然后才找到多个Bindings!
在我的 pom.xml 中,我只有一个相关的依赖项:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j13</artifactId>
<version>1.0.1</version>
</dependency>
为了解决这个问题,我尝试从我的存储库中删除第一个绑定,即这个:
C:/Users/JDunn/.m2/repository/ch/qos/logback/logback-classic/0.9.30/logback-classic-0.9.30.jar
我运行了另一个 Maven Clean,Maven Install 并在尝试运行测试时遇到了一个奇怪的错误:
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.14:test (default-test) on project sonar-score-plugin: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.14:test failed: There was an error in the forked process
然后我又运行了 Maven Clean,Maven Install,又得到了原来的“Multiple Bindings”错误,发现我删除的目录又出现了,就好像我没有删除一样。
我不知道我还能做些什么来摆脱“多重绑定”错误。
注意:我发现了一个类似的问题,但我没有可能导致此错误的相同原因。
此外,顶部的“No Binder Found”错误可能是因为这个,尽管我不确定。