ConfigSlurper与具有相同键的嵌套值的错误结果

时间:2015-04-20 17:11:56

标签: groovy

我正在尝试在项目中使用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闭包。

这是一个已知的限制还是我错过了什么?

0 个答案:

没有答案