- 关于 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版本后出现了上述错误。通过删除m2e 1.1并回滚到m2e 1.0,一切正常。我尝试在Windows和Ubuntu中重复该问题,但都给出了完全相同的错误。尝试了许多slf4j-api和logback的配置,但似乎没有一个有效。
错误出现在任何maven项目中甚至没有声明slf4j依赖项。
新建Maven项目-->maven-archetype-quickstart
以及
新建Maven项目-->没有原型选择的简单项目
结果为
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 及清理目标与其他目标的组合中。它也出现在参数-e和-X下。曾尝试删除m2e存储库并从头开始下载,但仍然没有成功。需要指出的是,在3台不同的机器和虚拟盒子上测试了上述系统,但都产生了相同的错误。
尝试了不同的logback配置(从1.0.4到1.0.13),解决了slf4j-api和logback-core依赖关系,但是仍然出现相同的错误。<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version></version>
</dependency>
尝试了不同的(从1.6.1到1.7.5)slf4j-simple配置。
<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>
我尝试了各种不同版本(从1.6.1到1.7.5)的slf4j-log4j12配置。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
尝试使用slf4j-nop 1.7.5配置。
<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
- Juno - http://download.eclipse.org/releases/juno
- Kepler - 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->完成
或者
选择文件->新建->其他->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.
"P.S. 在更新m2e版本至1.1.0.20120530-0009、1.2.0.20120903-1050、1.3.0.20130129-0926或1.4.0.20130601-0317后,现有项目将产生相同的错误。"
更新
编辑
m2e支持网站:
上述问题已在m2e支持网站发布为错误报告,Igor Fedorenko的答复是:
目前没有抑制此消息的即时计划。
要查看上述错误报告,请参阅m2e官方支持网站
编辑2
- 上述错误提示也适用于m2e版本1.2.0.20120903-1050
编辑3
- 上述错误提示也适用于m2e版本1.3.0.20130129-0926
编辑4
- 上述错误提示也适用于 m2e 版本 1.4.0.20130601-0317
编辑 5
***Reported FIXED***
以下错误已在m2e版本1.5.0/Luna M3(目标里程碑)中报告为已修复。该版本尚未可供下载。 Luna M3计划于11月15日发布。
最新的开发构建可在此处获得。
有关m2e里程碑的更多信息,请参阅m2e主存储库。
slf4j-api-1.7.7
和jcl-over-slf4j-1.7.7
中都有slf4j
,如果我尝试删除它们中的任何一个,就会收到错误消息,说它们的Logger
类丢失了。我该怎么办? - user1885868