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

2022-08-31 17:32:40

我试图构建hive-0.13。

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

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

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


答案 1

Maven docs

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

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

另外,这个可能很重要

maven.test.skip由Surefire,Failsafe和Conscolter Plugin提供


答案 2

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

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

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

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

推荐