Maven - 如何编译测试而不运行它们?

时间:2011-01-22 15:22:16

标签: maven

Maven是否有办法在不运行测试的情况下编译测试?我想使用IDE来运行特定的测试而不是所有测试。

7 个答案:

答案 0 :(得分:285)

test-compile生命周期阶段怎么样?它不需要任何测试跳过,因为它发生在test阶段之前。即,

$ mvn test-compile

完成了。

Introduction to the Build Lifecycle进一步解释。

答案 1 :(得分:29)

您可以尝试使用参数-DskipTests

参考文献:

答案 2 :(得分:25)

当执行包含测试阶段(例如包)的目标时,您可以做两件事:

  • 使用命令mvn -DskipTests=true package。这将编译所有 测试但不运行它们。
  • mvn -Dmaven.test.skip=true package。这不会编译或运行测试分支。

答案 3 :(得分:22)

要编译测试和代码,而不运行它们,只需执行:

mvn test-compile compile

答案 4 :(得分:1)

如果你是settings.xml文件,你也可以使用

<maven.test.skip>true</maven.test.skip>

答案 5 :(得分:1)

如果你真的想只编译测试(跳过所有其他阶段,如compile),这样做

mvn org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile

请参阅plugin bindings of the default lifecycle

答案 6 :(得分:1)

或者,您可以使用maven.test.skip.exec选项。

mvn -Dmaven.test.skip.exec=true

Maven将编译测试而不运行它们。 我经常在我的所有项目中使用此选项。