SLF4J:クラス「org.slf4j.impl.StaticLoggerBinder」の読み込みに失敗しました


619

私のアプリケーションは、tcServerとWebSphere 6.1の両方にデプロイされます。このアプリケーションはehCacheを使用するため、依存関係としてslf4jが必要です。その結果、slf4j-api.jar(1.6)jarをwarファイルバンドルに追加しました。

次のエラーを除いて、アプリケーションはtcServerで正常に動作します。

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.

ただし、WebSphereにデプロイすると、java.lang.NoClassDefFoundError: org.slf4j.impl.StaticLoggerBinder

も伴う Failed to load class "org.slf4j.impl.StaticMDCBinder"

両方のアプリケーションサーバーのクラスパスを確認しましたが、他のslf4j jarはありません。

誰かがここで何が起こっているのか考えていますか?


この記事は私の問題を解決しました
会計士م

回答:


517

WebSphere 6.1でも同じ問題がありました。Cekiが指摘したように、WebSphereが使用している大量のjarがあり、そのうちの1つは古いバージョンのslf4jを指していました。

No-Opフォールバックはslf4j -1.6+でのみ発生するため、それより古いものは例外をスローし、デプロイメントを停止します。

これを解決するSLf4Jサイトにドキュメントがあります。私はそれに従い、すでに持っていたslf4j-simple-1.6.1.jarアプリケーションに追加しましslf4j-api-1.6.1.jarた。

これで私の問題は解決しました。それがこの問題を抱えている他の人を助けることを願っています。


4
はい、エラーはここでも言及されています-slf4j.org/manual.htmlしかし、新しいエラーが発生します-原因:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory
david blaine

1
「Cekiが指摘したように、WebSphereが使用している大量のjarファイルがあり、そのうちの1つは古いバージョンのslf4jを指していました。」-Mavenが依存関係を処理するのはこれで終わりです。なんて冗談でしょう。
AndroidDev 2014年

167
MAVENユーザーの皆さん
Sergio

2
私は1.7を使用していますが、同じ問題があります。slf4j-simple-1.7.jarを追加すると、問題が解決します。
littletiger、2015年

1
これは私にはうまくいきません。slf4j-simple jarはlog4j.propertiesを取得しません。代わりに、slf4j-log4j12とlog4j jarを追加して実装を使用します。
flyrain

379

これはグーグル検索から来た人のためのものです。

mavenを使用する場合は、次のコードを追加するだけです

   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
       <version>1.7.5</version>
   </dependency>
   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
       <version>1.7.5</version>
   </dependency>

または

   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
       <version>1.7.5</version>
   </dependency>
   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>
       <version>1.6.4</version>
   </dependency>

1
slf4j-simpleと同じバージョンにならない理由はありslf4j-apiますか?彼らはおそらく一緒にうまく機能するでしょうが、私は彼らが同じバージョンを使用することは一般的に安全でより良い習慣だと思います。また、たとえば単体テストの実行時にコンソールのみのロギングを有効にする必要がある場合は、slf4j-simpleそれで十分なようです(私にとってはそれでした)。
Ivaylo Slavov 2014年

23
申し訳ありませんが、slf4jの実装は1つだけである必要があります。つまり、slf4j-log4j12またはslf4j-simpleのいずれかであり、両方ではありません。
OndraŽižka2014

@Igor KatKovこれはローカルマシンでのみ機能しますが、Jenkinsで同じエラーが発生し、何が問題なのかわかりません。あなたは明確にしてくださいすることができます
vikramvi

slf4j-apiには、最初に実行したときに使用できない構成が必要です(構成ファイルを編集していない)。slf4j-simpleを使用すると、WYSIWYG以外のファイルを構成せずに基本的なロガーを使用できます。ファイルを構成し、ロガー出力を好きなようにカスタマイズする方法を学んだら、slf4j-apiに戻ることができます。(それでも、どこにあるのか、自分で編集する方法を学びます)
クリップ

53

これをpom.xmlに追加するだけです:

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>1.7.21</version>
</dependency>

3
解決策は私にとってうまくいきました。ドキュメントを指摘する価値があります(エラーが説明されていることがわかりました):slf4j.org/codes.html#StaticLoggerBinder
Witold Kaczurba

2
単純なカフカプロデューサーの例を実行している間、これだけでうまくいきました。本当にありがとう!
Viren

@WitoldKaczurbaは正しいです。Mavenを使用して依存関係を使用しているときに同じ問題が発生していました。私はググって、問題とその解決策を記載したslf4j.org/codes.html#StaticLoggerBinderに行きました。私はslf4j-apiバージョン1.7.25を使用していました。上記のリンクのドキュメントを確認した後、<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.25</version> </dependency>を使用しただけ で問題は解決しました
Mohammad Anas

ロガーを必要とするライブラリー(slf4jを必要とするハンドルバーなど)がpomで宣言しない場合、Mavenを使用する意味がわかりません。とにかくありがとうございました。
Eric Duminil

私の場合、これは解決策ではありません。slf4jとlog4jの互換性のないバージョン、または別のプラグインがあるという情報を隠すだけです。
hariprasad

42

クラスパスに次のjarファイルを追加する必要があります:slf4j-simple-1.6.2.jar。お持ちでない方はダウンロードしてください。http://www.slf4j.org/codes.html#multiple_bindingsを参照してください


しかし、私はtcServerクラスパスにそのjarを持っていません。それが私を混乱させています。tcServerに追加のjarが不要なのはわかりませんが、WebSphereには必要です
JJ180

1
私のために働いた、そして受け入れられた答えよりはるかに簡単です。バージョン1.7.7も機能しました。
La-comadreja 2014

1
私はすでに私の中に持っていjul-to-slf4jて、前にpom.xml追加slf4j-simpleしたばかりで、うまくいきます。
slugmandrew 2014年

jarファイルをクラスパスに単純に追加するにはどうすればよいですか?
Dean013

クラスパスとは何ですか?どこ?わかりません
Rose8525

36

ここでかなりの数の回答が、sven4j-simple依存関係をMaven pomファイルに追加することを推奨しています。最新バージョンを確認することをお勧めします。

https://mvnrepository.com/artifact/org.slf4j/slf4j-simple あなたはバインディングSLF4Jのシンプルの最新バージョンを見つけることができます。最適なものを選択し(2019-02の1.7.26は2019-07現在の安定バージョンです)、pom.xmlに含めます。

便宜上、いくつかの依存関係がここに示されていますが、これを読んだ場合、最新のものではない可能性があります。

2019-10のアルファ版

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-simple</artifactId>
   <version>2.0.0-alpha1</version>
 </dependency>

2019年2月のベータ版

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.8.0-beta4</version>
</dependency>

安定版2019-12

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-simple</artifactId>
   <version>1.7.30</version>
</dependency>

以下のコメントのおかげで、スコープテストの部分を削除しました。


6
なぜ使うの<scope>test</scope>?私の経験では、少なくともクラスパス上にあるruntimeことを確認するためのスコープが必要slf4j-simpleです。testスコープだけでこれを機能させる方法に
興味があり

これを指摘していただきありがとうございます。それに応じてスコープタグを回答から削除しました。これはカットアンドペーストの問題でした-私が提供しているリンクは、この方法でベータ依存を提供します。
Wolfgang Fahl

27

私は同じエラーに直面していました。ローカル開発でslf4j-api、slf4j-log4j12、およびlog4jを構成しました。すべての構成は問題ありませんでしたが、mvnrepositoryからコピーしたslf4j-log4j12依存関係にはテストスコープがありました<scope>test</scope>。私がこれを取り除いたとき、すべてがうまくいきました。

ばかばかしい間違いが頭を痛めることもあります;)


1
どうもありがとう!私は同じ問題を抱えていて、あなたの投稿を見つけるまでそれをあきらめようとしていました!
Ergodyne

1
これは私にも役立ちました
cod3min3

27

時々、私たちは警告のメモを見るはずですSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

これは、クラスパスで適切なSLF4Jバインディングが見つからなかった場合に発生します

この警告が出る理由を検索できます。
ジャーのいずれかを添加すること*slf4j-nop.jarslf4j-simple.jarslf4j-log4j12.jarslf4j-jdk14.jarまたはlogback-classic.jar*クラスパスには問題を解決しなければなりません。

compile "org.slf4j:slf4j-simple:1.6.1"

たとえば、上記のコードをMavenプロジェクトのbuild.gradleまたは対応するコードに追加しますpom.xml


15

slf4j-log4j12-1.6.4.jarクラスパスにファイルを置くとうまくいきます。


6
または、依存関係をpomに追加します<dependency> <groupId> org.slf4j </ groupId> <artifactId> slf4j-log4j12 </ artifactId> </ dependency>
enkor

11

Mavenを使用して依存関係を管理している場合は、pom.xmlに次の依存関係を追加するだけです。

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.5.6</version>
</dependency>

Maven以外のユーザーの場合ライブラリをダウンロードして、プロジェクトのクラスパスに配置するだけです。

ここで詳細を確認できます:http : //www.mkyong.com/wicket/java-lang-classnotfoundexception-org-slf4j-impl-staticloggerbinder/


1
また、mavenユーザーの場合、次をpom.xmlに追加する必要があることがわかりました。これにより、logback-coreも自動的に取り込まれます。<dependency> <groupId> ch.qos.logback </ groupId> <artifactId> logback-classic </ ArtifactId> <version> 1.0.9 </ version> </ dependency>
Paul

2
This is not an error. This message tells you that you do not have any logger implementation (such as e.g. Logback) added in classpath, and therefore NOP (No Operation) log @Paulがlogback-classicを追加する必要があることから、sarxosコメント探します。<artifactId>slf4j-simple</artifactId>からへの別の変更アプローチ<artifactId>slf4j-api</artifactId>も機能します。ここに
Abhijeet 2015年

10

SLF4jは、さまざまなロギングフレームワークの抽象化です。したがって、slf4jのほかに、log4jやlogbackなどのロギングフレームワークをクラスパスに含める必要があります。
アイデアを得るには、http://logback.qos.ch/manual/introduction.htmlの最初のベビーステップを参照してください


2
logbackを追加すると、これが修正されました。最新のlogbackクラシックをpom(1.1.7)にドロップしましたが、slf4jの依存関係が古すぎるため(1.6.2)、失敗しました。logbackを1.0.0にダウングレードし、slf4jを1.6.xのままにしておくと、slf4jを1.7.20にアップグレードしてlogbackを1.1.7のままにした場合と同様に機能しました。
ECDragon

5

Slf4jは、log4j、logback、java.util.loggingなどの基本的なロギングフレームワークのファサードです。

基盤となるフレームワークに接続するために、slf4jはバインディングを使用します。

  • log4j-slf4j-log4j12-1.7.21.jar
  • java.util.logging-slf4j-jdk14-1.7.21.jarなど

上記のエラーは、バインディングjarがない場合にスローされます。このjarをダウンロードしてクラスパスに追加できます。

Maven依存関係の場合、

<dependency> 
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.7.21</version>
</dependency>

この依存関係はslf4j-log4j12-1.7.21.jarに加えて、slf4j-api-1.7.21.jarとlog4j-1.2.17.jarをプロジェクトにプルします

リファレンス:http : //www.slf4j.org/manual.html


あなたの解決策は私のために働いた唯一のものでした、ありがとう!
エデンショウ

5

Java 9ライブラリを備えたSpring-boot-2アプリケーションでも同様の問題に直面していました。

pom.xmlに次の依存関係を追加すると、問題が解決しました。

    <dependency>
        <groupId>com.googlecode.slf4j-maven-plugin-log</groupId>
        <artifactId>slf4j-maven-plugin-log</artifactId>
        <version>1.0.0</version>
    </dependency>

4

Websphereのケースでは、古いバージョンのslf4j-api.jar、1.4.xを使用しています。または1.5.xがどこかにあります。tcServerで観察される動作、つまりNOPへのフェイルオーバーは、slf4jバージョン1.6.0以降で発生します。すべてのプラットフォームでslf4j-api-1.6.x.jarを使用していること、および古いバージョンのslf4j-apiがクラスパスに配置されていないことを確認してください。


おかげで、WebSphere 6.1のクラスパスを確認しましたが、slf4jの他のバージョンが表示されません。たとえば、WebSphereファイルシステムでslf4j jarを検索したところ、1.6バージョンしか返されませんでした。WebSphereにslf4jが同梱されているかどうか知っていますか?
JJ180

何でも可能ですが、WebSphereがslf4j-apiにバンドルされていれば、私は非常に驚きます。溶接バンドルslf4j-api.jar。Weldを使用していますか?
Ceki

4

次のエラーが発生したときに、この問題が発生しました。

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.

で使用slf4j-api-1.7.5.jarしていたときlibs

のようにslf4j-log4j12-1.7.5.jar、提案された補完jarファイル全体を試してもslf4j-simple-1.7.5、エラーメッセージはまだ持続しました。この問題はslf4j-jdk14-1.7.5.jar、Javaライブラリに追加したときにようやく解決されました。

slf4jパッケージ全体をhttp://www.slf4j.org/download.html入手してください。


4

この問題を解決するには、次の依存関係をpomに追加してください。

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>1.7.25</version>
  <scope>test</scope>
</dependency>

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.7.25</version>
</dependency>

別の回答で指摘されているように、最初の依存関係を含めただけで機能します。両方の依存関係は私にとって問題を解決しません。
RubioRic 2017

Intellijのバンドルされたmavenではなく、ローカルのmavenを使用したい。
Abdul Gaffar

4

jarの包含と純粋なmavenソリューションの代替として、gradleを使用してmavenから含めることができます。

バージョンの例 1.7.25

// https://mvnrepository.com/artifact/org.slf4j/slf4j-simple
api group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25'

これをbuild.gradleファイルの依存関係内に置きます。


3

私はStruts2 + Springプロジェクトで働いています。したがって、依存関係が必要slf4j-api-1.7.5.jarです。

プロジェクトを実行すると、次のようなエラーが発生します

クラス「org.slf4j.impl.StaticLoggerBinder」の読み込みに失敗しました

を追加して問題を解決しましたslf4j-log4j12-1.7.5.jar

したがって、このjarをプロジェクトに追加して問題を解決します。


3

SLF4Jマニュアル状態

Simple Logging Facade for Java(SLF4J)は、java.util.logging、logback、log4jなどのさまざまなロギングフレームワークの単純なファサードまたは抽象化として機能します。

そして

クラスパスにバインディングを追加するとすぐに警告が消えます。

したがって、使用するバインディングを選択する必要があります。

NoOpバインディング(slf4j-nop)

NOPにバインドし、すべてのロギングをサイレントに破棄します。

https://search.maven.org/search?q=g:org.slf4j%20AND%20a:slf4j-nop&core=gav最新バージョンを確認してください

単純なバインディング(slf4j-simple)

すべてのイベントをSystem.errに出力します。レベルINFO以上のメッセージのみが出力されます。このバインディングは、小さなアプリケーションのコンテキストで役立つ場合があります。

https://search.maven.org/search?q=g:org.slf4j%20AND%20a:slf4j-simple&core=gav最新バージョンを確認してください

ロギングフレームワークのバインディング(java.util.logging、logback、log4j)

ログをファイルに書き込む場合は、これらのバインディングの1つが必要です。

https://www.slf4j.org/manual.html#projectDepで説明と手順を参照してください


私の意見

Logbacklog4jプロジェクトの後継なので、Logbackをお勧めします。

https://search.maven.org/search?q=g:ch.qos.logback%20AND%20a:logback-classic&core=gavでバインディングの最新バージョンを確認してください

すぐにコンソール出力が得られますが、ログをファイルに書き込む必要がある場合は、次のFileAppenderように設定をsrc/main/resources/logback.xmlまたはに配置しますsrc/test/resources/logback-test.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type
             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>logs/logs.log</file>

        <encoder>
            <pattern>%date %level [%thread] %logger{10} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="debug">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>

    <logger level="DEBUG" name="com.myapp"/>
</configuration>

(マニュアルの詳細な説明を参照してください:https : //logback.qos.ch/manual/configuration.html


3
     <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.21</version>
    </dependency>

上記の依存関係をpom.xmlファイルに入れます


ただし、最新バージョンを必ず確認してください。
user1053510


1

SLF4J公式ドキュメントによると

クラスorg.slf4j.impl.StaticLoggerBinderの読み込みに失敗しました

この警告メッセージは、org.slf4j.impl.StaticLoggerBinderクラスをメモリにロードできなかった場合に報告されます。これは、クラスパスで適切なSLF4Jバインディングが見つからなかった場合に発生します。slf4j-nop.jar、slf4j-simple.jar、slf4j-log4j12.jar、slf4j-jdk14.jar、またはlogback-classic.jarの1つ(および1つだけ)をクラスパスに配置すると、問題が解決します。

このjarをslf4j api.jarとともにクラスパスに追加するだけで、作業を完了できます。最高の幸運



1

payara 5.191で同じ問題が発生しました

jcl-over-slf4jとslf4j-log4j12は問題を解決しました

<properties>
  <slf4j.version>1.7.29</slf4j.version>
</properties>

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>${slf4j.version}</version>
  <type>jar</type>
</dependency> 

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>jcl-over-slf4j</artifactId>
  <version>${slf4j.version}</version>
</dependency>        

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>${slf4j.version}</version>
</dependency>

0

私はこの投稿が少し古いことを知っていますが、誰かがこの問題に遭遇した場合に備えて:

slf4j-jdk14-XXXjarをCLASSPATHに追加します(XXXはバージョン番号です-例:slf4j-jdk14-1.7.5.jar)。

HTHピーター


1
クラスパスの問題を解決するために、ユーザーがJDK1.4ロギングに戻る必要があることを示唆していますか?次のFAQエントリもご覧
faq.html#

0

Jenaを使用して、pom.xmlに次の依存関係を追加します

<dependency> 
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>1.0.13</version>
</dependency>

slf4j-simpleを追加しようとしましたが、「SLF4J:クラス "org.slf4j.impl.StaticLoggerBinder"の読み込みに失敗しました」というエラーは表示されませんが、logback-classicは詳細情報を表示します。

公文書


0

解決策は彼らの公式ウェブサイトに示されています:

クラスorg.slf4j.impl.StaticLoggerBinderの読み込みに失敗しました

この警告メッセージは、org.slf4j.impl.StaticLoggerBinderクラスをメモリにロードできなかった場合に報告されます。これは、クラスパスで適切なSLF4Jバインディングが見つからなかった場合に発生します。slf4j-nop.jar、slf4j-simple.jar、slf4j-log4j12.jar、slf4j-jdk14.jar、またはlogback-classic.jarの1つ(および1つのみ)をクラスパスに配置すると、問題が解決します。SINCE 1.6.0 SLF4Jバージョン1.6以降、バインディングがない場合、SLF4Jはデフォルトで無操作(NOP)ロガー実装になります。アプリケーションのパッケージ化を担当し、ロギングを気にしない場合、slf4j-nop.jarをアプリケーションのクラスパスに配置すると、この警告メッセージが表示されなくなります。ライブラリやフレームワークなどの埋め込みコンポーネントは、SLF4Jバインディングへの依存関係を宣言するのではなく、slf4j-apiにのみ依存することに注意してください。

解決策:intellijに関するMavenリサーチを使用してプロジェクトに追加し、slf4j-jdk14.jarを選択しました。


0

@thangarajで述べたように、あなたの問題はおそらく<scope>test</scope>(場合によっては<scope>provided</scope>)も原因でした

ドキュメントは言う:

このスコープは、依存関係がアプリケーションの通常の使用には必要なく、テストのコンパイルおよび実行フェーズでのみ使用できることを示します。テストの依存関係は推移的ではなく、テストと実行のクラスパスにのみ存在します。

したがって、テストの目的で依存関係が必要ない場合は、代わりに(mvnrepositoryに表示されるもの)を使用できます。

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-nop -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-nop</artifactId>
    <version>1.7.24</version>
    <scope>test</scope>
</dependency>

スコープなし(デフォルトでは、他のスコープが指定されていない場合はコンパイルスコープになります):

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-nop -->
<dependency>  
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-nop</artifactId>
   <version>1.7.25</version>
</dependency>

これは次と同じです:

 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-nop -->
 <dependency>  
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-nop</artifactId>
   <version>1.7.25</version>
   <scope>compile</scope>
 </dependency>

0

これが私の5セントです...

テストの実行中に同じ問題が発生しました。そのため、テストランタイムのみの実装を追加して修正しました。このプロジェクトでは、gradleを使用しています。

// https://mvnrepository.com/artifact/ch.qos.logback/logback-classic

testRuntimeOnlyグループ: 'ch.qos.logback'、名前: 'logback-classic'、バージョン: '1.2.3'


0

私にとっての問題は次のとおりです。Hibernateを使用すると、すでにslf4jを使用しており、クラスパスにすでにあることがわかったので、それを使用することにしました。次のステップ-slf4jのimlementorを追加するため、mavenに追加しました。

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

しかし、エラーで失敗しました!SLF4J:クラス「org.slf4j.impl.StaticLoggerBinder」の読み込みに失敗しました

解決策は:slf4jのHibernateの依存関係がバージョン1.7.26であり、マイナーバージョンの依存関係1.7.25を追加しました。だから私がこれを修正したとき-すべてがOKになりました


0

依存関係は追加しませんでした。依存関係を変更するだけです。

プレビューコード

(エラスティック検索バージョン<7.0を使用している場合は、このコードのコメントを外してください)

IndexRequest indexRequest = new IndexRequest(
  "twitter",
  "tweets",
  id // this is to make our consumer idempotent
).source(record.value(), XContentType.JSON);

現在のコード

IndexRequest indexRequest = new IndexRequest("tweets")
  .source(record.value(), XContentType.JSON)
  .id(id); // this is to make our consumer idempotent

私はbulkrequestを使用していて、そのエラーを削除します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.