dictionary - Gradle 无法在任务内创建 Groovy Map 对象
问题描述
我正在尝试使用以下语法在任务内部创建一个 Map 对象:
task newtask{
newMap = [sname:'a', name:'', buildnr:'', path:'']
}
我得到的只是“无法为 org.gradle.api.DefaultTask 类型的任务 ':newTask' 设置未知属性 'newMap'。” 错误。
如果我尝试在任务之外创建 newMap,它的创建不会出错。有人可以解释使用 Gradle/Groovy 语法使用 Map 对象和 Map 对象的 ArrayList 的正确方法吗?
谢谢。
解决方案
您尝试做的是使用局部变量,但您编写的是尝试分配newMap
,就好像它在当前上下文中是已知的一样。
您应该将您的声明更改为:
def newMap = [sname:'a', name:'', buildnr:'', path:'']
然后Map
根据您认为合适的方式使用它来配置任务。
推荐阅读
- c# - 将字符串转换为字典
- java - Hibernate 5:计数值返回为 java.time.Duration 而不是 java.lang.Long
- flutter - Flutter firebase_messaging 后台处理程序未执行但消息到达 iOS
- kotlin - 如何在 InteliJ IDEA 中设置 Kotlin 自定义编译器?
- javascript - 使用一些匹配模式进行 url 验证的正则表达式
- mysql - SQL如何像一张连续的表一样查询多张表?
- lua - 打印语句不在 ipairs 循环中执行
- selenium - 机器人框架如何支持登录任意站点
- mfc - 使用CMFCPropertyGridCtrl,如何避免鼠标移动到内容过长的编辑框时出现提示?
- node.js - Docker Nodejs Redis 连接到 127.0.0.1:6379 失败