Gradle - 无法在空对象上设置 属性

Gradle - Cannot set property on null object

我有一个 .gradle,如果条件为真,我想在其中设置一些项目属性。

def isRelease = project.getProperty('isRelease')

if (isRelease) {
    println 'Detected a release'
    project.properties.'releaseCenter'.'uploadURL' = project.properties.'uatUploadURL'
}

输出为:

A problem occurred evaluating root project 'tasks'.
> Cannot set property 'uploadURL' on null object

我认为它与对象名称周围的 '' 有关,但我无法让它工作。 非常感谢任何帮助。

你打电话给project.propertieshttps://docs.gradle.org/current/javadoc/org/gradle/api/Project.html#getProperties--

其中 returns 个 Map。然后你调用 properties.'releaseCenter' 相当于 properties.get("releaseCenter") which returns null。您尝试在 null 对象上获取 属性,这正是您看到的错误。

可能的解决方案:

  1. 修复您的 Gradle 配置(某些插件可能会添加此 属性)
  2. 自己定义属性。