22

pom.xmlにはSLF4Jへの参照が1つだけ含まれています。

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>1.5.10</version>
    </dependency>

このエラーが発生します:

SLF4J:クラス「org.slf4j.impl.StaticLoggerBinder」のロードに失敗しました。

SLF4J:デフォルトで無操作(NOP)ロガー実装SLF4J:

詳細については、 http://www.slf4j.org/codes.html#StaticLoggerBinderを参照してください。

私はそのURLを確認しましたが、実際に解決策が提供されていますクラスパスで問題が解決するはずです。」

私の質問は:どのクラスパスですか?

  • システムの%CLASSPATH%?(私は持っていません!これのために特別に作成する必要があります)
  • Eclipseのプロジェクト.classpath?(私はこれを試したと思いますが、役に立ちませんでした)
  • 他の?

私はここSOでこの主題に関するかなりの数の投稿を見つけましたが、それらはすべて同じ答えを引用しています: 「クラスパスに...を配置してください

どのクラスパス?

4

2 に答える 2

23

まず、SLF4Jを追加するには、これらの依存関係の1つだけをpom.xmlに配置する必要あります使用する実装によって異なります。pom.xmlに追加するすべての依存関係は、クラスパスに自動的に追加されます。Eclipseを使用している限り、システムの%CLASSPATH%を変更する必要はありませんか?

<dependency>
   <groupId>ch.qos.logback</groupId>
   <artifactId>logback-classic</artifactId>
   <version></version>
</dependency>
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-simple</artifactId>
   <version></version>
   <scope>compile</scope>
</dependency>
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-log4j12</artifactId>
   <version></version>
   <scope>compile</scope>
</dependency>
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-jdk14</artifactId>
   <version></version>
   <scope>compile</scope>
</dependency>

最後になりましたが、エラーSLF4J:クラス「org.slf4j.impl.StaticLoggerBinder」のロードに失敗しました。

バンドルされたMavenバージョン(m2e)を使用している場合、Eclipse JunoおよびIndigoは、メッセージSLF4J:Failed to loadclass"org.slf4j.impl.StaticLoggerBinder"を抑制していません。この動作は、m2eバージョン1.1.0.20120530-0009以降に存在します。

ただし、これはエラーとして示され、ログは正常に保存されます。強調表示されたエラーは、このバグが修正されるまで引き続き存在します。これについては、m2eサポートサイトをご覧ください。

このメッセージを抑制するために現在利用可能な解決策は、Eclipseのバンドルバージョンではなく、外部のMavenバージョンを使用することです。この解決策とこのバグに関する詳細については、以下の質問をご覧ください。

SLF4J:クラス「org.slf4j.impl.StaticLoggerBinder」のロードに失敗しました。エラー

于 2012-12-12T13:55:32.553 に答える
0

問題:

Maven依存関係の管理に使用しています。私の場合、このエラーが発生したのは、クラスパスのシステムに複数のslf4j-simplejarがあったためです。SLF4Jのドキュメントには次のように記載されています。

slf4j-nop.jar slf4j-simple.jar、slf4j-log4j12.jar、slf4j-jdk14.jar、またはlogback-classic.jarの1つ(および1つだけ)をクラスパスに配置すると、問題が解決するはずです。

解決:

  • ファイルシステムで次のjarファイルを検索し、次のjarファイル以外のすべてのコピーを削除します.m3
    1. slf4j-nop
    2. slf4j-シンプル
    3. slf4j-log4j12
    4. slf4j-jdk14
    5. logback-クラシック
于 2019-07-26T19:41:39.623 に答える