如何使用maven构建一个jar,忽略测试结果?

2022-08-31 08:38:08

当我运行测试时,它们会失败,但我需要运行它们才能获得一些.class文件,这对我的jar非常重要。

默认情况下,当测试结果失败时,jar不是构建的,我可以在pom中添加一个忽略它的设置.xml这样我就可以构建jar忽略测试结果?

我读了一些关于“Maven Surefire插件”的东西,但我不知道如何使用它......


答案 1

有关详细信息,请参阅 surefire:test,但最有用的属性是:

-Dmaven.test.failure.ignore=true (或 -DtestFailureIgnore=true) - 将忽略测试执行期间发生的任何故障

-Dmaven.test.error.ignore=true ( deprecated ) - 将忽略测试执行期间发生的任何错误

-DskipTests - 将编译测试类,但完全跳过测试执行

-Dmaven.test.skip=true - 甚至不会编译测试

我相信,在你想要编译测试类,但不会因为任何测试错误而使构建失败的情况下,仍然创建jar

应使用第一个选项忽略任何测试失败,在生成完成后仍可查看这些失败。


答案 2

mvn -Dmaven.test.skip=true package跳过 surefire test mojo。

要忽略测试失败并防止maven停止,您可以将它添加到pom.xml部分:

 <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-surefire-plugin</artifactId>
   <configuration>
     <testFailureIgnore>true</testFailureIgnore>
   </configuration>
 </plugin>