【问题标题】:Why won't Gradle pass runtime args to Groovy?为什么 Gradle 不会将运行时参数传递给 Groovy?
【发布时间】:2016-10-17 02:43:35
【问题描述】:

Gradle 2.14 和 Groovy 2.4.7 在这里。我有以下 Groovy:

@Slf4j
class Driver {
    static void main(String[] args) {
        log.info("Fizz prop value is: ${System.properties['fizz']}.")
    }
}

我正在使用 Gradle 应用程序插件。当我跑步时:

./gradlew run -Pfizz=buzz

我得到他以下控制台输出:

[main] INFO com.me.myapp.Driver - Fizz prop 值为:null。

当我在命令行上将 buzz 的值作为 buzz 传递时,为什么我的应用认为 fizz 属性是 null

【问题讨论】:

标签: gradle groovy system-properties


【解决方案1】:

你用 -P 传递它,这是 gradle 的属性

尝试使用-D 传递它

【讨论】:

  • 感谢@tim_yates (+1) - 但./gradlew run -Dfizz=buzz 仍然产生相同的输出 (null)。
【解决方案2】:

尝试不使用 System.properties 并传递 -Pfizz=buzz:

log.info("Fizz prop value is: ${fizz}.")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    • 2012-05-05
    • 2021-09-26
    • 2015-09-09
    相关资源
    最近更新 更多