maven (maven Surefire プラグイン) から junit テストを実行しようとすると、次のエラーが発生します。
java.lang.NoSuchFieldError: NO_FORMAT
このエラーは、log4j ロガーへの呼び出しが原因のようです。したがって、log4j クラス変数を持つクラスがある場合log
、次のようになります。
public class SomeClass {
private Logger log = Logger.getLogger(SomeClass.class);
....
}
次にへの呼び出し
log.info(String msg);
上記のエラーが発生します。次のようなjunitテストを実行するときに、基本構成がセットアップされていることを確認しようとしました
@Before
public void setup() {
BasicConfigurator.configure();
someclass = new SomeClass();
}
しかし、それはこの問題を解決しません。すべての呼び出しを削除log
すると問題は解決しますが、それはあまり良い解決策ではありません。
なぜこの問題が発生するのですか?どうもありがとう。