mvn verify
を実行すると、以下のメッセージが表示されます。
提案されているように、私はすでにlog4j2.xml
をsrc/test/resources
の下に置いています(ただし、実際のアプリに同梱したくないため、src/main/resources
には入れていません) ここ 無駄です。
上記のように、HTMLレポートが生成され、ログファイルが書き込まれ、ビルドが成功します。エラーがどこから来ているのかわかりません。
http://logging.Apache.org/log4j/2.x/manual/configuration.html#AutomaticConfiguration クラスパスにlog4j2.xml
を追加すると役立つはずです。
JSONファイルが見つからない場合、XMLConfigurationFactoryはクラスパスでlog4j2.xmlを見つけようとします。
したがって、それでもエラーメッセージが表示される場合は、ソースに問題はありません。 maven-cucumber-reporting
プラグインに問題があるようです。ここで説明されているように http://maven.Apache.org/guides/mini/guide-maven-classloading.html
プラグインクラスローダーには、現在のプロジェクトの依存関係もビルド出力も含まれていないことに注意してください。
Mavenプラグインが独自のクラスパス(ソース/リソースを含まない)でlog4j構成を見つけられない場合は、エラーメッセージが表示されます。そうです、唯一の解決策は修正を加えてリリースを待つ https://github.com/damianszczepanik/cucumber-reporting/issues/675
最新のCucumberバージョン3.15.0を使用します(これを書いている時点で)。問題は 問題#675 として解決されました。 commit from pull request この問題を修正するためのものがありましたが、利益を得るには次のバージョンがリリースされるまで待つ必要があります-またはビルドするローカルでバージョンをスナップショットし、問題が解決するかどうかを確認します。
実行->実行構成->クラスパス->ユーザーエントリ->詳細オプション->フォルダの追加->次にフォルダを追加します(この場合はsrc/test/resources-> apply)
今すぐ動作する必要があります:D
彼らのドキュメントによると、「joranConfigurator」を使用して、指定されたファイルから構成をロードできます
cucumber
またはその依存関係がロギングにlog4j
を使用しており、log4j
構成ファイルがないため、log4j
がそのようなメッセージを出力しているため、このエラーが発生します。
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
ファイルがない場合と同じ結果になります。
もう1つの方法は、log4j2.xml
ファイルをプロジェクトのクラスパスに入れずに直接Mavenに渡すことです。以下のようなもの-
set MAVEN_OPTS="-Dlog4j.configurationFile=file:///path/to/log4j2.xml"
mvn verify