我正在尝试在项目中使用Groovy的ConfigSlurper,但是当配置中出现两次相同的密钥时,它会发生奇怪的行为。这是一个例子:
def struct = """
node2 {
subnode21="Test1"
}
root1 {
node2 {
subnode1="Test2"
subnode2=node2.subnode21
}
}
"""
def config = new ConfigSlurper().parse(struct)
这将产生以下结果:
[
node2:[
subnode21:Test1
],
root1:[
node2:[
subnode1:Test2,
subnode21:[:],
subnode2:[:]
]
]
]
ConfigSlurper似乎认为subnode2=node2.subnode21
闭包中的root1
引用root1.node2
而不是上面声明的node2
闭包。
这是一个已知的限制还是我错过了什么?