Eclipse - 无法加载类“org.slf4j.impl.StaticLoggerBinder”

时间:2012-11-20 13:11:59

标签: java eclipse maven

  

可能重复:
  SLF4J: Failed to load class org.slf4j.impl.StaticLoggerBinder error

我正在使用 eclipse juno 使用 maven (m2eclipse插件)运行其他人的Java代码。但我收到以下信息:

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.

official website上,我找到了针对此问题的以下修复程序:

This error is reported when the org.slf4j.impl.StaticLoggerBinder class could not be loaded into memory. 
This happens when no appropriate SLF4J binding could be found on the class path. 
Placing one (and only one) of slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.

所以我在“C:\ Program Files \ Java \ jdk1.7.0_07 \ lib”中复制了slf4j-simple.jar。但我仍然得到错误。

请指导我什么是正确的解决方案。我是一个Java新手。

也有人可以提及JAVA_HOMECLASSPATHCLASS变量的确切价值。我感到困惑的是它应该是jre还是jdk还是任何?

的路径

更新

项目slf4j中存在pom.xml的依赖关系。

<dependency>
           <groupId>org.slf4j</groupId>
           <artifactId>slf4j-api</artifactId>
           <version>1.5.6</version>
           <type>jar</type>
</dependency>
<dependency>
           <groupId>org.slf4j</groupId>
           <artifactId>slf4j-simple</artifactId>
           <version>1.5.6</version>
</dependency>

我更新了我的项目。此外,slf4j-api-1.5.6.jarslf4j-simple-1.5.6.jar在我的项目中显示在“Maven依赖项”中。 org.slf4j.impl.StaticLoggerBinder.class

中也存在slf4j-simple-1.5.6.jar

3 个答案:

答案 0 :(得分:38)

使用捆绑的maven版本(m2e)时,Eclipse Juno,Indigo和Kepler不会抑制消息SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。此行为存在于m2e版本1.1.0.20120530-0009及之后。

虽然这表示为错误,但您的日志会正常保存。在修复此错误之前,突出显示的错误仍然存​​在。有关详情,请参阅m2e support site

当前可用的解决方案是使用外部maven版本而不是捆绑版本的Eclipse。您可以在下面的问题中找到有关此错误的此解决方案和更多详细信息,我相信这些错误描述了您面临的相同问题。

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". error

答案 1 :(得分:10)

您是否更新了项目(右键单击项目,“Maven”&gt;“更新项目......”)?否则,您需要检查pom.xml是否包含必要的slf4j依赖项,例如:

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.0</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.0</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.0</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
    </dependency>

答案 2 :(得分:2)

将jar文件放在所需位置后,需要通过右键单击添加jar文件

  

项目 - &gt;属性 - &gt; Java构建路径 - &gt;图书馆 - &gt;添加Jar。