我有一个非常简单的问题让ConfigSlurper
处理我的配置
Groovy版本2.5.6
回到基础并尝试了这个简单的Groovy脚本:
ConfigSlurper slurper = new ConfigSlurper ()
slurper.parse ("""host='localhost' """)
println slurper.getProperty('host')
/* gives exception :
Caught: groovy.lang.MissingPropertyException: No such property: host for class: groovy.util.ConfigSlurper
groovy.lang.MissingPropertyException: No such property: host for class: groovy.util.ConfigSlurper
at scripts.testSSlurper.run(testSSlurper.groovy:7)
*/
为什么这个简单的解析失败了?
我在这做错了什么?这是我编写解析文件的真实代码的阻止程序 - 这似乎也没有把任何东西绑定到slurper中。
您的代码示例中存在一个误解。解析配置脚本不会改变ConfigSlurper
对象,但会返回ConfigObject
。您所要做的就是捕获slurper.parse(script)
方法的结果并从返回的host
实例访问ConfigObject
密钥。
ConfigSlurper slurper = new ConfigSlurper()
def config = slurper.parse(""" host = 'localhost' """)
println config.getProperty("host")
输出:
localhost