ConfigSlurper()。parse()不起作用

时间:2017-03-13 11:16:40

标签: groovy

似乎无论出于何种原因我的ConfigSlurper()。解析都无法正常工作。每当我传递任何配置时,无论是硬编码还是在config.groovy文件中,它都会创建一个空映射。 这就是我所拥有的:

    def parser = '''foo:{
        path: "path"
        hidden: true
        version: Framework_V4_0
        host: localhost:8080
            }'''

    ConfigObject conf = new ConfigSlurper().parse(new File("src/config.groovy").toURL())
    println new File("src/config.groovy").toURL()
    println conf.app

和config.groovy文件:

app {
    path: "path"
    hidden: true
    version: "Framework_V4_0"
    host: "localhost:8080"
}

1 个答案:

答案 0 :(得分:2)

该语法不正确。正如ConfigSlurper documentation中所解释的,它期望以Groovy脚本的形式定义配置文件。

def parser = '''app {
    path = 'path'
    hidden = 'true'
    version = 'Framework_V4_0'
    host = 'localhost:8080'
}'''

ConfigObject conf = new ConfigSlurper().parse(parser)
println conf

PS:File#toURL()已被弃用,请勿使用。

从Groovy中的文件中读取它是直截了当的:

def parser = '''app {
    path = 'path'
    hidden = 'true'
    version = 'Framework_V4_0'
    host = 'localhost:8080'
}'''

def file = new File('config')
file << parser
ConfigObject conf = new ConfigSlurper().parse(file.text)
println conf