【问题标题】:What's the difference between -DskipTests and -Dmaven.test.skip=true-DskipTests 和 -Dmaven.test.skip=true 有什么区别
【发布时间】:2014-10-27 15:50:21
【问题描述】:

我正在尝试构建 hive-0.13。

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

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

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

【问题讨论】:

    标签: java maven hive


    【解决方案1】:

    Maven docs:

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

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

    这也可能很重要

    maven.test.skip 被 Surefire、Failsafe 和 Compiler 授予荣誉 插件

    【讨论】:

    【解决方案2】:

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

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

    所以 Maven 的完整测试选项集是:

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

    【讨论】:

    • 前两个效果一样吧?换句话说,“跳过运行”==“未执行”,对吧?这是否也意味着两者都设置了完全相同的属性等,那么它们真的可以完全互换吗?
    猜你喜欢
    • 2014-03-22
    • 2021-05-13
    • 2011-06-22
    • 2018-12-20
    • 2023-03-14
    • 1970-01-01
    • 2017-11-08
    • 2011-01-16
    • 1970-01-01
    相关资源
    最近更新 更多