実際にテストを実行すると失敗しますが、jarにとって非常に重要な.classファイルを取得するためにテストを実行する必要があります。
デフォルトでは、テスト結果が失敗した場合、jarはビルドされません、それを無視する設定をpom.xmlに追加できますか?テストの結果を無視してjarをビルドできますか?
「Maven Surefire Plugin」について読んだのですが、使い方がわかりません...
詳細については surefire:test を参照してください。ただし、最も有用なプロパティは次のとおりです。
-Dmaven.test.failure.ignore = true(または-DtestFailureIgnore = true)-テストの実行中に発生したエラーは無視されます
-Dmaven.test.error.ignore = true(廃止予定)-テスト実行中に発生したエラーを無視します
-DskipTests-テストクラスをコンパイルしますが、テストの実行を完全にスキップします
-Dmaven.test.skip = true-テストもコンパイルしません
私はあなたがテストクラスをコンパイルしたいが、テストエラーのためにビルドが失敗しないようにしたいjarを作成します。
最初のオプションを使用して、テストの失敗を無視する必要があります。テストの失敗は、ビルドが完了しても確認できます。
mvn -Dmaven.test.skip=true package
は確実なテストのモジョをスキップします。
テストの失敗を無視し、mavenが停止しないようにするには、pom.xmlのセクションにこれを追加できます。
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
解決策は次のとおりです。
mvn -fn clean install
実行mvn --help
高度なオプション
-fnの抜粋です
-fn,--fail-never NEVER fail the build, regardless
of project result
<properties>
<maven.test.skip>true</maven.test.skip>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>
http://jira.codehaus.org/browse/SUREFIRE-319
またはコマンドラインから
http://maven.Apache.org/maven-1.x/plugins/test/properties.html
maven.test.error.ignoreはいテスト中にエラーを無視するには、これをtrueに設定します。その使用は推奨されていませんが、時には非常に便利です
テストをスキップしてコンパイルするには、-Dmaven.test.skip = trueではなく-DskipTests = trueを使用します。
-Dmaven.test.failure.ignore = trueを使用しても機能しますが、あまり良いものではありません。