3

私が持っているJava-ee Mavenプロジェクトでは、ログバックでslf4jを使用したいと考えていますが、org.glassfish.extrasからの「glassfish-embedded-all」アーティファクトを含めると、代わりにJDK14LoggerAdapterが使用されると思います。

このアーティファクトを削除すると、ロギングは期待どおりに機能しますが、この質問 - Testing against Java EE 6 API で説明されているように、java-ee api の問題が原因でテストが失敗します。

問題を引き起こしている正確な pom エントリは次のとおりです。

<dependency>
    <groupId>org.glassfish.extras</groupId>
    <artifactId>glassfish-embedded-all</artifactId>
    <version>3.1</version>
    <scope>test</scope>
</dependency>

logback を使用するように slf4j を構成する方法はありますか? または、Java ee コードをテストするより良い方法はありますか?

4

1 に答える 1

3

Glassfish サーバーには SLF4J Binding 実装が含まれており、これも読み込まれます。

たとえば 7zip で glassfish jar を開くと、org/slf4j/impl/StaticLoggerBinder.class があることがわかります。

私の見解では、彼らは JDK14Logging 用の独自のロギング バインダーを実装しています。このバインディングを無効にする方法を知っている人はいますか?

次のリンクも参照してください: logback with EJB3.1

于 2013-03-25T12:45:49.677 に答える