运行mvn verify
时,我收到以下消息:
我已将log4j2.xml
放在src/test/resources
下(但不在src/main/resources
,因为我不希望它与实际应用一起提供),因为建议here无济于事。
生成HTML报告,编写日志文件,并且构建成功,如上所示。我不确定错误来自哪里。
答案 0 :(得分:3)
根据http://logging.apache.org/log4j/2.x/manual/configuration.html#AutomaticConfiguration将log4j2.xml
添加到classpath应该有帮助。
如果找不到JSON文件,XML ConfigurationFactory将尝试 在类路径上找到log4j2.xml。
因此,如果仍然出现ERROR消息问题,请不要使用您的来源。它看起来像maven-cucumber-reporting
插件中的问题。如此处所述http://maven.apache.org/guides/mini/guide-maven-classloading.html
请注意,插件类加载器既不包含当前项目的依赖项,也不包含其构建输出。
如果maven插件在自己的类路径中找不到任何log4j配置(不包括您的源/资源),您将看到错误消息。所以是的,唯一的解决方案是等待发布修复https://github.com/damianszczepanik/cucumber-reporting/issues/675
答案 1 :(得分:2)
您使用最新的Cucumber版本3.15.0(在撰写本文时)。您的问题已解决为issue #675。来自commit的pull request旨在解决此问题,但可能您必须等到下一个版本发布才能从中获利 - 或者在本地构建快照版本并查看是否存在还为你解决了这个问题。
答案 2 :(得分:1)
运行 - >运行配置 - > Classpath - >用户条目 - >高级选项 - >添加文件夹 - >然后添加你的文件夹,在你的情况下src / test / resources - >应用
现在必须工作:D
答案 3 :(得分:0)
您收到此错误是因为cucumber
或其依赖项正在使用log4j
进行日志记录,并且由于没有log4j
配置文件,因此log4j
正在打印此类消息。< / p>
如果没有log4j
配置文件,log4j
使用类似于以下的配置 -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configuration>
<Configuration status="warn" name="xml_configuration">
<Appenders>
<Console name="consoleLogger" target="SYSTEM_OUT">
<PatternLayout
pattern="[%level] %m%n" />
</Console>
</Appenders>
<Loggers>
<Root level="error" additivity="false">
<appender-ref ref="consoleLogger" />
</Root>
</Loggers>
</Configuration>
在/src/main/resources/log4j2.xml
中添加上述配置与没有log4j2.xml
文件的结果相同。
另一种尝试方法是直接将log4j2.xml
文件传递给maven,而不将其放在项目类路径中。像下面的东西 -
set MAVEN_OPTS="-Dlog4j.configurationFile=file:///path/to/log4j2.xml"
mvn verify
答案 4 :(得分:0)
根据他们的文档,您可以使用&#39; joranConfigurator&#39;并从指定的文件加载配置