“-Dmaven.test.skip.exec”与“-Dmaven.test.skip=true”和“-DskipTests”有啥区别?
Posted
技术标签:
【中文标题】“-Dmaven.test.skip.exec”与“-Dmaven.test.skip=true”和“-DskipTests”有啥区别?【英文标题】:What is the difference between "-Dmaven.test.skip.exec" vs "-Dmaven.test.skip=true" and "-DskipTests"?“-Dmaven.test.skip.exec”与“-Dmaven.test.skip=true”和“-DskipTests”有什么区别? 【发布时间】:2014-03-22 22:27:52 【问题描述】:我不确定 maven 指令 -Dmaven.test.skip.exec
和 -Dmaven.test.skip=true
-DskipTests
之间的区别是什么。两者似乎都抑制了测试周期。
【问题讨论】:
可能重复:***.com/questions/8685100/… 不是这个问题的傻瓜,更多的是“我尝试了所有这些,但它们都不起作用”...... :) 【参考方案1】:"maven.test.skip.exec=true
" 测试被编译,但没有被执行。
“maven.test.skip=true
”不编译或执行测试。
"-DskipTests
" 是 same 作为 "maven.test.skip.exec=true
"
【讨论】:
【参考方案2】:请看参考: http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-test.html
提取:
跳过测试
要跳过运行特定项目的测试,请设置 skipTests 属性为 true。
<project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> [...] </project>
您也可以通过命令行执行跳过测试 以下命令:
mvn install -DskipTests
如果你绝对必须,你也可以使用 maven.test.skip 属性 跳过编译测试。 maven.test.skip 被 Surefire 授予荣誉, Failsafe 和编译器插件。
mvn install -Dmaven.test.skip=true
【讨论】:
【参考方案3】:system property-Dmaven.test.skip=true
将执行以下操作:
因为 maven.test.skip 禁用了运行测试和编译 测试。
系统属性 -Dmaven.test.skip.exec
已弃用,您应该使用 -DskipTests=true
将此设置为“true”以跳过正在运行的测试,但仍会编译它们。
【讨论】:
以上是关于“-Dmaven.test.skip.exec”与“-Dmaven.test.skip=true”和“-DskipTests”有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章