我在 Eclipse Luna SR2 (4.4.2) 下有一个 Maven 项目。本项目通过 maven 依赖使用 slf4j。
Infinitest 正在运行持续集成,它在很多情况下都有效,除了静态 slf4j 声明为
@Component
public class UnitProcessor implements Processor {
private static Logger logger = LoggerFactory.getLogger(UnitProcessor.class);
...
我在哪里收到这条消息
NoClassDefFoundError(无法初始化类 org.apache.log4j.Log4jLoggerFactory)
当然,当我运行涉及的类时,Eclipse 本身没有异常也没有问题。在maven中也没有问题。
无限控制台写道:
SLF4J:类路径包含多个 SLF4J 绑定。SLF4J:在 [jar:file:/C:/Users/mde.DSI/.m2/repository/org/slf4j/slf4j-log4j12/1.5.10/slf4j-log4j12-1.5.10.jar!/org/ 中找到绑定slf4j/impl/StaticLoggerBinder.class] SLF4J:在 [jar:file:/C:/Users/mde.DSI/.m2/repository/ch/qos/logback/logback-classic/1.1.3/logback-classic 中找到绑定-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:有关说明,请参见http://www.slf4j.org/codes.html#multiple_bindings。SLF4J:实际绑定类型为 [org.slf4j.impl.Log4jLoggerFactory] SLF4J:您的 slf4j 绑定请求的 1.5.10 版本与 [1.6] SLF4J 不兼容:请参阅http://www.slf4j.org/codes。 html#version_mismatch了解更多详情。SLF4J:在类路径上检测到 log4j-over-slf4j.jar 和 slf4j-log4j12.jar,抢占 StackOverflowError。SLF4J:有关更多详细信息,另请参阅http://www.slf4j.org/codes.html#log4jDelegationLoop。
如何摆脱这个地狱?
谢谢