プロジェクトでlog4j2とslf4jを使用し、ビルドにmavenを使用しています。私は次のpomファイルを使用しています(関連する依存関係のみが表示されています)が、このpomファイルで以下にエラーがコピーされています-これを機能させるために追加/削除する必要があるものは何でも考えてください。エラー内のURLとlog4j2の依存関係ページを既に訪問しているので、応答内のURLを指さないでください。
メッセージ:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
pomファイル
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<slf4j.version>1.7.7</slf4j.version>
</properties>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.Apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.Apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0.1</version>
</dependency>
更新: pomファイルに次の依存関係を追加し、mavenrepositoryにjarを表示します-mvn clean/installを実行しても同じメッセージが表示されます
<dependency>
<groupId>org.Apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0.1</version>
</dependency>
あなたはあなたのpomファイルから次のものが欠けているようです。
<dependency>
<groupId>org.Apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0.1</version>
</dependency>
Log4j2の構成は正しい(POM側)が、slf4jに書き込むべき場所(バックエンド部分)を決して言っていない。
それをpomファイルに追加する必要があります
<dependency>
<groupId>org.Apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0.1</version>
</dependency>
Log4j 2 SLF4Jバインディングです。 Log4j 2 SLF4J Binding documentationによれば、Log4j 2 SLF4J Bindingにより、SLF4J APIにコーディングされたアプリケーションはLog4j 2を実装として使用できます
それでも動作しない場合、Eclipse m2eはslf4jに関して奇妙であることが知られているため、Eclipseの問題が発生する可能性があります。 SO SLF4J:クラス“ org.slf4j.impl.StaticLoggerBinder”のロードに失敗しました。エラー の回避策は、外部のMavenを使用してビルドを行います。
Log4j-slf4j-impl依存関係とは別に、slf4j-ext依存関係も必要です。
http://logging.Apache.org/log4j/2.x/log4j-slf4j-impl/dependencies.html を参照してください
あなたの最初のpom.xmlが正しいと思う(依存関係が正しい)、おそらく設定ファイルの場所が間違っている
pom.xml
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.Apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.Apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>