编译与slf4j库相关的问题

时间:2011-06-15 19:03:17

标签: java eclipse slf4j mahout

我正在尝试编译一个开源库,并且遇到以下问题。当我保留两个库,slf4j-jcl-1.6.0.jar和slf4j-api-1.6.0.jar时,eclipse编译器会给我以下错误消息:

  

SLF4J:类路径包含多个SLF4J绑定。   SLF4J:在[jar:file:/home/chengs6/mahout/mahout-distribution-0.5/mahout-examples-0.5-job.jar!/org/slf4j/impl/StaticLoggerBinder.class]中找到绑定   SLF4J:在[jar:file:/home/chengs6/mahout/mahout-distribution-0.5/lib/slf4j-jcl-1.6.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]中找到绑定

如果我删除这两个库,那么编译器会给我以下错误消息:

  

2011年6月15日下午2:51:12 org.slf4j.impl.JCLLoggerAdapter错误

如何解决这个问题?感谢。

1 个答案:

答案 0 :(得分:2)

SLF4J只要求您在类路径中拥有slf4j-api-1.6.0.jar和一个记录器实现。这就是manual所说的:

  

请注意SLF4J启用您的   库/应用意味着   只增加一个强制性   依赖,即   slf4j-api-1.6.1.jar

在你的情况下,我猜你有multiple logger implementations in your classpath。在我看来,mahout-examples-0.5-job.jar已经包含了一些SLF4J实现类。