3

我正在尝试编译一个开源库,并遇到以下问题。当我保留 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 错误

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

4

1 回答 1

2

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

请注意,启用 SLF4J 的库/应用程序意味着仅添加一个强制依赖项,即 slf4j-api-1.6.1.jar.

在您的情况下,我猜您的 classpath 中有多个记录器实现。在我看来,它mahout-examples-0.5-job.jar已经包含了一些 SLF4J 实现类。

于 2011-06-15T19:41:30.097 回答