0

ロギングにライブラリapache-log4j-extrasを使用しています。クラスorg.apache.log4j.Loggerが含まれています。

ここで、 logbackを使用し、その依存関係にlog4j-over-slf4j (jar)があるサードパーティ ライブラリを参照する必要がありました。残念ながら、後者の jar にはクラスorg.apache.log4j.Loggerも含まれています。

後者のクラスがonejarクラスローダーによって優先されるように見えます...

logbacklog4j-over-slf4jは必要ありません。apache-log4j-extras のorg.apache.log4j.Loggerを元に戻したいだけです。Onejar-maven-plugin にはどのようなオプションがありますか?

編集: onejar ではなく、IDEA のデバッグ モードに問題があるようです。ただし、問題は依然として関連しています。必要なクラスを Onejar で確実にロードするにはどうすればよいですか?

EDIT2:たとえば、C# では、「 extern alias」機能を使用して簡単に解決できます。

4

2 に答える 2

0

なぜそれを除外しないのですか?

<dependency>
    <groupId>my.naughty.thirdparty</groupId>
    <artifactId>thirdparty-with-log4j-over-slf4j</artifactId>
    <version>${thirdparty.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
        </exclusion>
    </exclusions>
</dependency>
于 2013-12-29T08:50:44.047 に答える