テストで問題が発生しました。有効なlog4j.propertiesがsrc/test / resourcesにあるため、mavenで実行するとlog4jの初期化に失敗するため、テストのクラスパスに到達するはずです。しかし、そうではありません。つまり、log4jは印刷するだけです。
log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).
log4j:WARN Please initialize the log4j system properly.
問題をデバッグするために、ここのコードを使用して、テスト自体からクラスパスを出力しました
しかし、私が取得するjarファイルとパスの長いリストの代わりに
/<projectpath>/target/surefire/surefirebooter6226797341642271676.jar
だから私の質問は:
WTFはクラスパスでMavenを実行していますか?
log4j.propertiesがクラスパスに表示されないのはなぜですか?
これをデバッグするにはどうすればよいですか?
注:Eclipseでは、テストを問題なく実行でき、すべてが期待どおりに機能します。
別の注意:Mavenプロジェクトはマルチモジュールプロジェクトであり、次のようなコマンドラインを使用して、単一のサブモジュールから単一のテストのみを実行しています。
mvn -U -Dtest=de.company.project.SomeTest clean test