2017-03-13 41 views
2

似乎無論出於何種原因,我的ConfigSlurper()。分析工作不正常。每當我通過它,任何配置如果是硬編碼或在config.groovy文件中創建一個空映射。 這是我有:ConfigSlurper()。parse()不起作用

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" 
} 

回答

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 
+0

媽呀,它的實際工作,非常感謝你,但我仍然有一個問題,有沒有什麼辦法讓若從一個文件? –

+0

非常感謝,它工作完美 –

+0

@StefanCiprianIuga不要感謝我,謝謝Groovy的迷人;) – m0skit0