如何使用maven构build一个jar,忽略testing结果?
当我运行testing他们失败的现状,但我需要运行他们得到一些.class文件,这是我的jar子非常重要。
默认情况下,当testing结果失败,jar不生成,我可以在pom.xml中添加一个设置,忽略它,所以我可以构buildjar忽略testing结果?
我读了一些关于“Maven Surefire Plugin”的内容,但是我不知道如何使用它…
请参阅surefire:testing的细节,但最有用的属性是:
-Dmaven.test.failure.ignore = true (或-DtestFailureIgnore = true ) – 将忽略testing执行期间发生的任何故障
-Dmaven.test.error.ignore = true (不build议使用) – 将忽略testing执行期间发生的任何错误
-DskipTests – 将编译testing类,但完全跳过testing执行
-Dmaven.test.skip = true – 甚至不会编译testing
我相信,在你想要编译testing类的情况下,由于任何testing错误而不能失败构build,仍然创buildjar 。
您应该使用第一个选项忽略任何testing失败,您仍然可以在构build完成后进行查看。
mvn -Dmaven.test.skip=true package
跳过testing阶段
要忽略testing失败并阻止maven停止,可以将其添加到pom.xml的部分:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin>
解决scheme是:
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以在testing期间忽略错误。 它的使用是不推荐的,但有时很方便
使用-DskipTests = true代替-Dmaven.test.skip = true,以便跳过testing但编译它们。
使用-Dmaven.test.failure.ignore = true也可以,但不是很好。
使用maven选项-Dmaven.test.skip = true
例如,mvn包-Dmaven.test.skip = true