当前位置: 首页 > 知识库问答 >
问题:

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

费星晖
2023-03-14
  • 关于Eclipse IDE(Indigo、Juno和Kepler(32和64位版本))
  • 平台:Windows、Ubuntu、Mac
  • M2E版本:1.1.0.20120530-0009,1.2.0.20120903-1050,1.3.0.20130129-0926,
    1.4.0.20130601-0317

上面的错误是在将m2e更新到1.1版之后出现的。通过删除M2E1.1并回滚到M2E1.0,一切都运行良好。我尝试在Windows和Ubuntu中重复这个问题,它给了我完全相同的错误。对slf4j-api和logback的许多配置进行了测试,但似乎都没有工作。

即使没有声明slf4j依赖项,该错误也会出现在任何maven项目中。

>

  • 新Maven项目-->maven-archetype-quickstart

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

    在Mac上使用Eclipse Indigo和Eclipse Juno(32位和64位),在Ubuntu上使用32位,在Windows上使用64位和32位。测试新安装的Juno Classic,Juno Modelling tools,Kepler Standard,Kepler Modelling tools,并产生相同的错误。

    错误出现在clean,install,test,deploy,generate-sources,validate,compile,package,Integration-test,verify以及目标clean与其他目标的组合中。它还带有参数-e和-x。有人试图删除m2e存储库并从头下载它,但同样没有成功。我应该提到的是,它是在三个不同的机器和虚拟盒子中测试的所有以上系统,但它产生了相同的错误。

    尝试了解决slf4j-api和logback-core依赖关系的所有不同的登录配置(从1.0.4到1.0.13),但都产生了相同的错误:

    <dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-classic</artifactId>
       <version></version>
    </dependency>
    

    尝试了所有不同的(从1.6.1到1.7.5)SLF4J-简单配置。

    <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
       <version></version>
       <scope>compile</scope>
    </dependency>
    

    尝试了所有不同的(从1.6.1到1.7.5)log4j-over-slf4j配置。

    <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>log4j-over-slf4j</artifactId>
       <version></version>
       <scope>compile</scope>
    </dependency>
    

    尝试了所有不同的(从1.6.1到1.7.5)slf4j-jdk14配置。

    <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-jdk14</artifactId>
       <version></version>
       <scope>compile</scope>
    </dependency>
    
    <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-log4j12</artifactId>
         <version></version>
         <scope>compile</scope>
    </dependency>
    
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-nop</artifactId>
      <version>1.7.5</version>
      <scope>compile</scope>
    </dependency>
    

    >

  • 下载Eclipse Juno、Indigo或Kepler 32或64位(所有安装都将导致相同的错误)。

    >

  • 安装M2E-Maven Integration for Eclipse

    • 朱诺-http://download.eclipse.org/releases/juno
    • 开普勒-http://download.eclipse.org/releases/kepler
    • Indigo-http://download.eclipse.org/technology/m2e/releases/(当前不可用)

    请将m2e版本更新至1.1.0.20120530-0009或1.2.0.20120903-1050或1.3.0.20130129-0926或1.4.0.20130601-0317)

    选择“文件”->“新建”->“其他”->“Maven项目”->单击“下一步”->选择
    maven-archetype-quickstart from the Catalog“->”完成

    选择“文件”->“新建”->“其他”->“Maven项目”->单击“下一步”->选择“创建一个简单项目”(跳过原型选择)->“完成工件信息”->“完成

    控制台上的第一行将是

    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.
    

    附注。现有项目在将m2e版本更新到1.1.0.20120530-0009、1.2.0.20120903-1050、1.3.0.20130129-0926、1.4.0.20130601-0317后将产生相同的错误

    编辑

    m2e支持站点:

    >

  • 上面的问题是作为bug发布在m2e支持站点上的,Igor Fedorenko的回答是

    • 上述错误指示也适用于m2e版本1.2.0.20120903-1050
    • 上述错误指示也适用于m2e版本1.3.0.20130129-0926
    • 上述错误指示也适用于m2e版本1.4.0.20130601-0317
                                  ***Reported FIXED***
    
    • 上述错误报告为m2e版本1.5.0/Luna M3(目标里程碑)已修复。该版本尚未下载。
    • 月星M3计划于11月15日举行。
    • 最新开发版本可从此处获得
    • 有关m2e里程碑的更多信息,可以在m2e主存储库中找到。
  • 共有1个答案

    唐彦
    2023-03-14

    我也可以确认这个错误。

    解决方法:在m2eclipse中使用外部maven,而不是它的嵌入式maven。

    这分三步完成:

    Apache Maven 2.2.1(rdebian-4)Java版本:1.6.0_20 Java主页:/usr/lib/jvm/java-6-openjdk/jre默认区域设置:de_DE,平台编码:UTF-8操作系统名称:“Linux”版本:“2.6.35-32-generic”ARCH:“AMD64”系列:“UNIX”

    2外部运行maven链接如何从控制台运行maven

    > cd path-to-pom.xml
    > mvn test
    
        [INFO] Scanning for projects...
        [INFO] ------------------------------------------------------------------------
        [INFO] Building Simple
        [INFO]    task-segment: [test]
        [INFO] ------------------------------------------------------------------------
        [...]
        [INFO] Surefire report directory: [...]/workspace/Simple/target/surefire-reports
        
        -------------------------------------------------------
         T E S T S
        -------------------------------------------------------
        Running net.tverrbjelke.experiment.MainAppTest
        Hello World
        Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.042 sec
        
        Results :
        
        Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
        
        [INFO] ------------------------------------------------------------------------
        [INFO] BUILD SUCCESSFUL
        [INFO] ------------------------------------------------------------------------
        [...]
    

    3 M2Eclipse内部:从嵌入式maven切换到本地maven

    • 查找本地maven home安装目录的位置(mvn--version,或google查找您的Maven_Home,对我来说这对我有帮助,即/usr/share/maven2)
    • 在eclipse菜单->窗口->首选项->Maven->安装->中输入该字符串。那么您应该切换到新的外部Maven。
    • 然后以“Maven Test”等方式运行项目。

    错误信息应该会消失。

     类似资料:
    • 问题内容: 我的应用程序将同时部署在tcServer和WebSphere 6.1上。此应用程序使用ehCache,因此需要slf4j作为依赖项。结果,我已将slf4j-api.jar(1.6)jar添加到我的war文件包中。 该应用程序在tcServer中工作正常,但以下错误除外: 但是,当我在WebSphere中部署时,会得到一个。 还伴随着 我已经检查了两个应用服务器的类路径,没有其他的slf

    • 我想使用Eclipse Indigo运行maven项目,但当我运行项目Run As- 我对此进行了研究,后来意识到slf4j依赖也缺失了。我下载了slf4j-1.7.5.zip并将以下文件提取到C:\Program files\Java\jdk1.7.0\u 17\lib中: slf4j-simple-1.7.5.jarslf4j-api-1.7.5.jarlog4j-over-slf4j-1.7

    • 问题内容: 我对SLF4J有依赖性。我收到此错误: 这是我的Maven条目: 问题出在哪里? 编辑: 没有log4j依赖性我得到以下异常 EDIT2 :这是我得到的示例树 问题答案: 我假设您正在使用Eclipse作为开发环境。 使用捆绑的Maven版本(m2e)时,Eclipse Juno,Indigo和Kepler不会抑制消息SLF4J:无法加载类“ org.slf4j.impl.Static

    • 问题内容: 当我尝试运行Hibernate时,我在控制台中收到以下消息。 但是hibernate状态很好。我的项目有什么问题吗?我使用Eclipse(Helios),Hibernate 3.6.8。我使用这些jar文件:antlr-2.7.6,commons- collections-3.1,dom4j-1.6.1,hibernate3,hibernate- jpa-2.0-api-1.0.1.F

    • 问题内容: 我正在使用 eclipse juno 使用 maven (m2eclipse插件)运行其他人的Java代码。但是我收到以下消息: 在官方网站上,我找到了针对此问题的以下修复程序: 所以我将slf4j-simple.jar复制到 “ C:\ Program Files \ Java \ jdk1.7.0_07 \ lib”中 。但是我仍然遇到错误。 请指导我什么是正确的解决方案。我是Ja

    • 我有个问题: 已连接到服务器[2015-04-06 05:25:59380]工件MySpringApp:战争爆发:工件正在部署,请稍候。。。SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”。SLF4J:默认为无操作(NOP)记录器实现SLF4J:请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder了解