gradle - Gradle 5 是否与 Groovy @Field 注释兼容?

标签 gradle groovy

我一直在使用 @Field 遇到问题当我从 Gradle 4 升级到 Gradle 5 时,Groovy 注释不起作用。

错误是:
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/

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

最佳答案

我没有找到为什么会这样的答案。我确实找到了解决方案。

@Field 变量替换为 ExtraPropertiesExtension .

旧的:

@Field String outputJson = 'db.json'

新:

ext {
    outputJson = 'db.json'
}

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

关于gradle - Gradle 5 是否与 Groovy @Field 注释兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57634983/

相关文章:

android - 编译与编译树与编译文件之间的区别?

android - Android gradle,关于更新后不推荐使用的那些方法

gradle - 使用 gradle 编译 java 的 lint 检查选项

java - 使用 Groovy 创建 Oracle 数据库链接

java - 理解java中的一些groovy代码

json - 如何在 Grails 中实现自定义深层 ObjectMarshaller<JSON>?

android - IntelliJ 新的 android gradle 插件 (0.14.+)

java - Android Studio 4构建失败,导致错误= 2没有此类文件或目录

groovy - Groovy 的非参数 grep() 和 findAll() 方法之间有什么区别吗?

Gradle:在多个子项目中包含相同的 SourceSet