1. ホーム
  2. エラーの報告

クラスパスが複数のSLF4Jバインディングを含んでいることを解決する

2022-02-25 01:35:36

pom.xml で新しい依存関係を導入した後、プロジェクトは次のようなエラーログを表示して開始します。

SLF4J: クラスパスには複数の SLF4J バインディングが含まれています。
SLF4J: [jar:file:/F:/mvnRepository/repository/org/apache/activemq/activemq-all/5.9.0.jar!/org/ slf4j/impl/StaticLoggerBinder.class] でバインディングが見つかりました。
SLF4J: [jar:file:/F:/mvnRepository/repository/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl /StaticLoggerBinder.class] 内にバインドを発見しました。
SLF4J: [jar:file:/F:/mvnRepository/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/ slf4j/impl/StaticLoggerBinder.class] でバインディングが見つかりました。
SLF4J: 説明は http://www.slf4j.org/codes.html#multiple_bindings を参照してください。
SLF4J: 実際のバインディングは [org.slf4j.impl.Log4jLoggerFactory] というタイプです。

そこで、"mvn dependency:tree" を使用して現在のプロジェクトの依存構造を確認し、競合する 3 つの jar パッケージ名 "activemq-all", "slf4j-loggerFactory" および "slf4j-loggerFactory" を検索してみましょう。"slf4j-log4j12" と "logback-classic" があり、これらはすべて私が導入した新しい依存関係の下にあることが分かりました。

これら3つのjarパッケージは除外してください。

この後、プロジェクトを通常通り開始することができます。