1

当我使用以下命令执行 gradle 时:

./gradlew publishToMavenLocal -PsplainVersion=null

我收到以下错误:

...
> Could not resolve all files for configuration ':graph-commons:scalaCompilerPlugins'.
   > Could not resolve io.tryp:splain_2.13.6:null.

似乎 null 没有被正确地解析为控制令牌,而是变成了一个字符串。有没有一种方法可以帮助 Gradle 将其理解为真正的 null 值?

4

1 回答 1

2

Gradle 将有效地将任何事物视为某种论证。没有任何空值检查。

因此,如果您需要确保没有为构建脚本提供 null 参数,那么您需要在使用它的地方验证该参数不为 null。

tasks.register("verifyNonNull") {
    onlyIf {
        property("splainVersion") != 'null'
    }
}

如果您对 Gradle 的逻辑感到好奇,请查看CommandLineParser.

于 2021-10-22T04:01:01.597 回答