Maven – 如何编译testing而不运行它们?
Maven有没有办法编译testing而不运行它们? 我想用IDE来运行特定的testing,而不是所有的testing。
你可以尝试使用参数-DskipTests
参考文献:
- Maven的Surefire插件#skipTests
test-compile
生命周期阶段如何? 它不需要任何testing跳过,因为它发生在test
阶段之前。 也就是说,
$ mvn test-compile
并做了。
构build生命周期介绍进一步解释。
当执行包含testing阶段的目标(例如包)时,可以做两件事情:
- 使用命令
mvn -DskipTests=true package
。 这将编译所有的testing,但不运行它们。 - 或者
mvn -Dmaven.test.skip=true package
。 这不会编译或运行testing分支。
只要编译testing和代码,而不运行它们,只需要:
mvn test-compile compile
如果你的settings.xml文件也可以使用
<maven.test.skip>true</maven.test.skip>
Maven Surefire插件文档在这一点上是清楚的:
skipTests
设置为“true”跳过正在运行的testing,但仍然编译它们。(…)
默认值是: false。
用户属性是: skipTests。
这个选项是可用的,因为在Maven的Surefire插件2.4+
如果你真的只想编译testing (跳过所有其他阶段,如compile
),这将做
mvn org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
查看默认生命周期的插件绑定 。