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

时间:2014-09-03 08:08:49

标签: java maven hive

我正在尝试构建hive-0.13。

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

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

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

2 个答案:

答案 0 :(得分:69)

Maven docs

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

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

这也可能很重要

  

maven.test.skip受到Surefire,Failsafe和编译器的尊重   插件

答案 1 :(得分:3)

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

  

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

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

  • -DskipTests ==>编译测试,但跳过运行它们
  • -Dmaven.test.skip.exec = true ==>测试得到编译,但没有执行。
  • -Dmaven.test.skip = true ==>不编译或执行测试。