Eclipse Luna SR2 (4.4.2) の下に Maven プロジェクトがあります。このプロジェクトは、maven の依存関係を通じて slf4j を使用します。
Infinitest は継続的インテグレーションを実行しており、静的な slf4j 宣言を除いて、多くの場合に機能します。
@Component
public class UnitProcessor implements Processor {
private static Logger logger = LoggerFactory.getLogger(UnitProcessor.class);
...
このメッセージを受け取った場所
NoClassDefFoundError (クラス org.apache.log4j.Log4jLoggerFactory を初期化できませんでした)
もちろん、関連するクラスを実行する場合、Eclipse自体に例外も問題もありません。Mavenでも問題ありません。
Infinitest コンソールは次のように書いています。
SLF4J: クラスパスに複数の SLF4J バインディングが含まれています。SLF4J: [jar:file:/C:/Users/mde.DSI/.m2/repository/org/slf4j/slf4j-log4j12/1.5.10/slf4j-log4j12-1.5.10.jar!/org/ でバインディングが見つかりました。 slf4j/impl/StaticLoggerBinder.class] SLF4J: [jar:file:/C:/Users/mde.DSI/.m2/repository/ch/qos/logback/logback-classic/1.1.3/logback-classic でバインドが見つかりました-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: 説明については、http://www.slf4j.org/codes.html#multiple_bindingsを参照してください。SLF4J: 実際のバインディングのタイプは [org.slf4j.impl.Log4jLoggerFactory] SLF4J: slf4j バインディングによって要求されたバージョン 1.5.10 は [1.6] SLF4J と互換性がありません: http://www.slf4j.org/codes を参照してください。 html#version_mismatch詳細については。SLF4J: クラスパスで log4j-over-slf4j.jar と slf4j-log4j12.jar の両方を検出し、StackOverflowError を先取りしました。SLF4J: 詳細については、http://www.slf4j.org/codes.html#log4jDelegationLoop も参照してください。
この地獄から抜け出すには?
ありがとう