-DskipTests和-Dmaven.test.skip = true之间有什么区别?

Sta*_*Shi 40 java hive maven

我正在尝试构建hive-0.13.

使用时-Dmaven.test.skip=true,它不会构建测试jar,但会检查测试依赖性.

使用时-DskipTests,它不会构建测试jar,也不会检查测试依赖性.

-DskipTests和之间有什么区别-Dmaven.test.skip=true

Kam*_*łys 74

Maven文档:

-DskipTests 编译测试,但跳过运行它们

-Dmaven.test.skip=true跳过编译测试并且不运行它们

这一点也许很重要

maven.test.skip受到Surefire,Failsafe和Compiler Plugin的尊重

  • 斯坦利,在您的评论中,正确的网址是 http://maven.apache.org/surefire/maven-surefire-plugin/examples/skiping-tests.html (2认同)

小智 6

这里描述了第三个相关选项:https ://stackoverflow.com/a/21933970/3169948

“maven.test.skip.exec=true”测试被编译,但不执行。

因此 Maven 的完整测试选项集是:

  • -DskipTests==> 测试已编译,但未执行。
  • -Dmaven.test.skip.exec=true==> 测试已编译,但未执行(与 完全相同-DskipTests)。
  • -Dmaven.test.skip=true==> 不编译或执行测试。

  • 前两个效果相同,对吗?换句话说,“跳过运行”==“不执行”,对吗?这是否也意味着两者设置完全相同的属性等,那么它们真的完全可以互换吗? (3认同)