如何使用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