1

私たちのソース コード リポジトリには、.settings/Program.launch 内の Eclipse 実行構成、.classpath 内のクラスパス構成、および数か月前に私たちのオフィスにいた Eclipse の専門家からインポートするよう指示された一連のユーザー ライブラリがあります。ユーザー ライブラリ セットには、JBoss 内のすべてまたはほとんどの jar を指す JBoss6.0.0.Final という名前の定義済みユーザー ライブラリが含まれており、Program.launch 実行構成には、この JBoss6.0.0.Final ユーザー ライブラリが含まれています。

クラスパス内の slf4j バインディング jar の 1 つを削除する必要があることを伝える slf4j から競合が発生しています。

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]

この警告が表示される理由を理解しました。また、 Program.launch のクラスパスから slf4j-jboss-logging.jar を削除して状況を修正したいと考えています。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を実行しています。

4

1 に答える 1

1

を使用してみてくださいjboss-classloading.xml。これにより、jbossに含まれているjarファイルからjarファイルを分離できるようになります。このリンクが役立つかどうかを確認してください。

于 2012-09-09T08:25:44.183 に答える