为什么 Gradle 不会将运行时参数传递给 Groovy?

Why won't Gradle pass runtime args to Groovy?

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 value is: null.

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

您正在通过 -P 传递它,这是 gradle

的属性

尝试用 -D

传递它

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

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