我遇到了一个测试问题,在 maven 中执行该测试时无法初始化 log4j,尽管有效的 log4j.properties 位于 src/test/resources 中,因此应该最终出现在测试的类路径中。但它没有,即 log4j 只打印
log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).
log4j:WARN Please initialize the log4j system properly.
为了调试问题,我从测试本身打印了类路径,使用这里的代码
但是我得到的不是一长串的罐子和路径
/<projectpath>/target/surefire/surefirebooter6226797341642271676.jar
所以我的问题是:
WTF 是 maven 处理类路径吗?
为什么我的 log4j.properties 没有出现在类路径中?
我该如何调试?
注意:在 Eclipse 中,我可以很好地运行测试,并且一切都按预期工作。
另一个注意事项:maven 项目是一个多模块项目,我只从单个子模块执行单个测试,命令行如下:
mvn -U -Dtest=de.company.project.SomeTest clean test