首页 > 解决方案 > Gradle 5 是否与 Groovy @Field 注释兼容?

问题描述

当我从 Gradle 4 升级到 Gradle 5 时,我遇到了@FieldGroovy 注释不起作用的问题。

错误是:
Cannot get the value of write-only property '<varname>' for script of type <typename>

此处发布了对该问题的非常深入的描述: https ://discuss.gradle.org/t/gradle-5-0-field-variable-visibility-issue/

如果有已知问题,请提供链接。否则,任何有关如何解决此问题的想法将不胜感激。

标签: gradlegroovy

解决方案


我没有找到为什么会发生这种情况的答案。我确实找到了解决方案。

用ExtraPropertiesExtension替换@Field变量。

老的:

@Field String outputJson = 'db.json'

新的:

ext {
    outputJson = 'db.json'
}

现在,您可以outputJson像在 Gradle 4 上使用@Field注释一样引用脚本中的任何位置。


推荐阅读