我们的源代码存储库在 .settings/Program.launch 中有一个 Eclipse 运行配置,在 .classpath 中有一个类路径配置,以及一组用户库,几个月前我们都被曾经在我们办公室的 Eclipse 专家指导导入。用户库集包括一个已定义的名为 JBoss6.0.0.Final 的用户库,它指向 JBoss 内部的所有或大部分 jar,并且 Program.launch 运行配置包括此 JBoss6.0.0.Final 用户库。
我现在从 slf4j 得到一个冲突,告诉我我需要删除我的类路径中的一个 slf4j 绑定 jar:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/workspace/project/core/lib/slf4j-log4j12-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/jboss-6.0.0.Final/client/slf4j-jboss-logging.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
我理解为什么会收到此警告,并且我想通过将 slf4j-jboss-logging.jar 从 Program.launch 的类路径中删除来解决这种情况。我去了 Window -> Preferences -> Java -> Build Path -> User Libraries,我打开了 JBoss6.0.0.Final 用户库,并删除了 slf4j-jboss-logging.jar 。但是当我跑步时,我仍然得到同样的警告。
我的类路径中包含这个 jar 是什么?我想删除它。
我将我的用户库导出到一个 XML 文件并对其进行搜索,但 slf4j-jboss-logging.jar 根本不在其中。我阅读了 Project.launch 文件,它没有引用这个 jar。.classpath 文件没有引用这个 jar,但它确实包含以下行,我认为它引入了 JBoss6.0.0.Final 用户库:
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JBoss6.0.0.Final"/>
我查看了 Project.launch 的运行配置下的类路径选项卡,它似乎显示了 .classpath 文件定义的所有内容。
我的类路径中这个有问题的 jar 是从哪里来的?
我正在运行 Eclipse Indigo。