45

可能重复:
SLF4J:无法加载类 org.slf4j.impl.StaticLoggerBinder 错误

我正在使用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.

官方网站上,我找到了针对此问题的以下修复:

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.

所以我将 slf4j-simple.jar 复制到"C:\Program Files\Java\jdk1.7.0_07\lib"中。但我仍然收到错误。

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

JAVA_HOME也有人可以提一下,CLASSPATHCLASS变量的值到底应该是什么。我很困惑它是否应该是路径jrejdk任何?

更新:

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.jar“Maven 依赖项”中。并且也存在于slf4j-simple-1.5.6.jarorg.slf4j.impl.StaticLoggerBinder.classslf4j-simple-1.5.6.jar

4

3 回答 3

38

Eclipse Juno、Indigo 和 Kepler 在使用捆绑的 maven 版本 (m2e) 时不会抑制消息 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"。此行为从 m2e 版本 1.1.0.20120530-0009 及更高版本开始存在。

虽然,这被指示为错误,您的日志将正常保存。在修复此错误之前,突出显示的错误仍将存在。在m2e 支持站点中了解更多信息。

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

SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。错误

于 2012-11-20T18:22:25.717 回答
11

您是否更新了项目(右键单击项目,“Maven”>“更新项目...”)?否则,您需要检查是否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>
于 2012-11-20T13:15:06.003 回答
2

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

项目 --> 属性 --> Java 构建路径 --> 库 --> 添加 Jar。

于 2012-11-20T13:22:21.640 回答