web-dev-qa-db-ja.com

テスト結果を無視して、Mavenを使用してjarを構築する方法は?

実際にテストを実行すると失敗しますが、jarにとって非常に重要な.classファイルを取得するためにテストを実行する必要があります。

デフォルトでは、テスト結果が失敗した場合、jarはビルドされません、それを無視する設定をpom.xmlに追加できますか?テストの結果を無視してjarをビルドできますか?

「Maven Surefire Plugin」について読んだのですが、使い方がわかりません...

100
user398920

詳細については surefire:test を参照してください。ただし、最も有用なプロパティは次のとおりです。

-Dmaven.test.failure.ignore = true(または-DtestFailureIgnore = true)-テストの実行中に発生したエラーは無視されます

-Dmaven.test.error.ignore = true(廃止予定)-テスト実行中に発生したエラーを無視します

-DskipTests-テストクラスをコンパイルしますが、テストの実行を完全にスキップします

-Dmaven.test.skip = true-テストもコンパイルしません

私はあなたがテストクラスをコンパイルしたいが、テストエラーのためにビルドが失敗しないようにしたいjarを作成します

最初のオプションを使用して、テストの失敗を無視する必要があります。テストの失敗は、ビルドが完了しても確認できます。

158
Zilvinas

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>
39
fasseg

解決策は次のとおりです。

mvn -fn clean install

実行mvn --help高度なオプション

-fnの抜粋です

 -fn,--fail-never         NEVER fail the build, regardless
                          of project result
24
<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に設定します。その使用は推奨されていませんが、時には非常に便利です

17
I82Much

テストをスキップしてコンパイルするには、-Dmaven.test.skip = trueではなく-DskipTests = trueを使用します。

-Dmaven.test.failure.ignore = trueを使用しても機能しますが、あまり良いものではありません。

3
Julien Carsique