Activemq-all-5.6.0にアップグレードすると
サーバーの起動中にこのエラーが発生します
SLF4J:クラスパスに複数のSLF4Jバインディングが含まれています
Activemq-all-5.5.1を使用している場合、この問題は発生しません。
チェックすると、activemq-all-5.6.0.jarとslf4j-log4j12-1.5.10.jarの両方にStaticLoggerBinder.classがあり、問題が発生していることがわかりました。
この問題のデバッグにご協力ください
私のpom.xmlは次のとおりです
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.10</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.5.10</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.10</version>
<scope>runtime</scope>
</dependency>
アクティブなmq依存関係は次のようになります
古いバージョン5.5.1(これは機能します)
<dependency>
<groupId>org.Apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.5.1</version>
</dependency>
新しいバージョン5.6.0(これによりエラーが発生します)
<dependency>
<groupId>org.Apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.6.0</version>
</dependency>
前もって感謝します。
ActiveMQの担当者は、 Maven Shade Plugin を使用してactivemq-all "ueber" jarを作成します。バージョン5.5.1と5.6.0の間のどこかで、org.slf4j:slf4j-log4j12依存関係が追加されました。したがって、問題が発生します。
残念ながら、シェードプラグインを使用しているため、activemqでexclusions
を使用することはできません-POMのすべての依存関係の定義。
代わりに、activemq-all依存関係を、必要なすべての個別の依存関係(もちろん、org.sl4j-log4j12のものを除く)に完全に置き換える必要があります。
次のページでは、必要なすべての依存関係について詳しく説明しています。 http://activemq.Apache.org/initial-configuration.html#InitialConfiguration-RequiredJARs
または、activemq-all jar(activemq-all pomのshadeプラグインの構成から取得)に含まれるすべての依存関係(必須およびオプション)のリストを次に示します。
org.Apache.activemq:activemq-camel
org.Apache.activemq:activemq-core
org.Apache.activemq:activemq-console
org.Apache.activemq:activemq-jaas
org.Apache.activemq:activemq-optional
org.Apache.activemq:kahadb
org.Apache.geronimo.specs:geronimo-jms_1.1_spec
org.Apache.geronimo.specs:geronimo-jta_1.0.1B_spec
org.Apache.geronimo.specs:geronimo-j2ee-management_1.1_spec
org.Apache.geronimo.specs:geronimo-annotation_1.0_spec
org.slf4j:slf4j-api
org.slf4j:slf4j-log4j12
log4j:log4j
お役に立てば幸いです。
Springを使用しているときにも同じ問題が発生しました。私を助けたのは、activemq-allの依存関係を次のように置き換えることでした。
<dependency>
<groupId>org.Apache.activemq</groupId>
<artifactId>activemq-spring</artifactId>
<version>5.14.3</version>
</dependency>
これが誰かに役立つことを願っています...