2016-03-29 18 views
3

現在、Mavenを使用してビルドしているWARファイルのログに問題があります。 WAR内のサーブレットにアクセスしようとすると、SLF4Jから 'delegation loop'によってエラーが発生します。依存関係ツリーに依存関係が表示されていませんが、WARに含まれています

この問題を解決するには、POMで除外することでできるはずのライブラリ(私の場合はslf4j-log4j12)を削除する必要があることを理解しています。 slf4j-api)。

ただし、slf4j-log4j12は、Eclipseの[Dependency Hierarchy]タブまたはdependency:treeゴールのいずれかを使用して依存関係ツリーに表示されません。しかし、私がWARファイルを見ると、slf4j-log4j12.jarがWEB-INF/libディレクトリにあります。

依存関係が依存関係ツリーに表示されない理由はありますか? JARがビルドに含まれる可能性のある他の方法はありますか?

+0

あなたのMavenプロジェクトを更新しましたか?あなたはまた、戦争の中を見て前にプロジェクトをリフレッシュしてもらえますか? – Hohenheim

+0

はい、プロジェクトは最新であり、私はプロジェクトの最新バージョンからWARを何度も再構築しました。 –

+0

'mvn dependency:tree'コマンドはあなたの友人です。 – Ceki

答えて

0

私はlog4jslf4jのために私のプロジェクトに古いバージョンを使用し、それが何の問題もなく働きました。 このようなpom.xmlであなたのjarファイルを変更しよう:

SLF4J の場合:

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.5.6</version> 
</dependency> 

のlog4j の場合:

<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.9</version> 
</dependency> 
これは働いていた場合、あなたはあなたの選択でバージョンを変更することができます
関連する問題