当前位置: 首页 > 面试题库 >

SLF4J:无法加载类“ org.slf4j.impl.StaticLoggerBinder”。在Maven项目中

方俊
2023-03-14
问题内容

我对SLF4J有依赖性。我收到此错误:

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.

这是我的Maven条目:

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.6.6</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.6.6</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>

问题出在哪里?

编辑: 没有log4j依赖性我得到以下异常

Failed to instantiate SLF4J LoggerFactory
Reported exception:
java.lang.NoClassDefFoundError: org.slf4j.impl.StaticLoggerBinder
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:121)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:268)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:241)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:254)
    at org.apache.bval.jsr303.ConfigurationImpl.<clinit>(ConfigurationImpl.java:50)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:228)
    at org.apache.bval.jsr303.ApacheValidationProvider.createGenericConfiguration(ApacheValidationProvider.java:66)
    at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:173)
    at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:50)
    at com.daimler.zv9.basic.entity.AbstractEntity.<clinit>(AbstractEntity.java:73)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:228)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:195)
    at java.lang.Class.forNameImpl(Native Method)
    at java.lang.Class.forName(Class.java:168)

EDIT2 :这是我得到的示例树

[INFO] com.myCompany.abc:ABC_Document:ejb:0.0.1-SNAPSHOT
[INFO] +- com.myCompany.abc:ABC_Basic:jar:0.0.1-SNAPSHOT:compile
[INFO] +- com.myCompany.iap:javax.j2ee:jar:5.0.0:provided
[INFO] +- com.myCompany.iap:logging:jar:5.0.0:provided
[INFO] +- com.myCompany.iap:util:jar:5.0.0:provided
[INFO] +- junit:junit:jar:4.8.2:test
[INFO] +- javax.servlet:jstl:jar:1.2:provided
[INFO] +- org.slf4j:slf4j-api:jar:1.6.6:compile
[INFO] +- org.slf4j:slf4j-simple:jar:1.6.6:compile
[INFO] \- org.mockito:mockito-all:jar:1.9.0:test

问题答案:

我假设您正在使用Eclipse作为开发环境。

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

虽然,这表示为错误,但您的日志将正常保存。在修复此错误之前,突出显示的错误仍然存​​在。有关此问题的更多信息,请参见m2e支持站点。

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



 类似资料:
  • 我对SLF4J有依赖性。我得到这个错误: 这是我的maven条目: 问题出在哪里? 编辑:没有log4j依赖项,我得到以下异常 编辑2:这是我得到的一个例子

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

  • 关于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,一切

  • 我想使用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

  • 问题内容: 当我尝试运行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