2017-07-04 16 views
1

私はSonarQube 5.6プラグインを開発しています。このプラグインは、ライブラリX(サードパーティライブラリ)に依存します。ライブラリXはLog4Jに依存します。依存関係の問題を解決するために、私はSonarQubeのドキュメントで定義されているように、与えられたスコープでpom.xmlにlog4j依存関係を追加しています。しかし、実行時に、クラスがlog4jに関連する例外を見つけられないようになっています。Sonarqubeプラグインでlog4jに依存するには?

サードパーティ製のライブラリを変更してもlog4jをもう使用しないようにすると(基本的にlog4j関連のコードはコメントアウトされています)、問題はなくなりました。

SonarQubeにlog4j依存関係を追加する方法、またはSonarQubeプラグインでlog4jの問題が解決されるようにするにはどうすればよいですか?または、コンテナが依存関係を提供すると言いますが、それがそうではないと言うとき、そのような問題に対処する最善の方法は何ですか?

依存関係は次のように宣言されています:

<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-core</artifactId> 
    <version>2.8.2</version> 
</dependency> 
+0

@slartidan pom.xmlはsonarqubeプラグインの標準です。私は何もしていません。私が尋ねているユースケースです。 – rxx

+0

org.apache.logging.log4j のlog4j-コア 2.8.2 rxx

答えて

0

あなたは、任意のlog4jの依存性を排除し、代わりにSLF4Jする任意のlog4jのコールをリダイレクトするためにlog4j-オーバーSLF4Jに依存している必要があります。

log4j-over-slf4jは、ランタイムプラグインクラスローダーで既に提供されているはずですので、基本的にはそのままで動作します。あなたはどんな問題に直面していますか?

+0

私のサードパーティのjarファイルは、log4jのに依存しています。私はその瓶を変更することはできません。このjarは、プラグインの依存関係として追加されます。 – rxx

関連する問題