configslurperを使用していくつかのプロパティファイルを解析しようとしています。groovy MissingMethodException - ConfigSlurperを介した解析
ENT.adminserver.nodenumber=1
ENT.managedserver.1.host=vserver04
ENT.managedserver.2.host=vserver05
ENT.managedserver.3.host=vserver08
ENT.managedserver.4.host=vserver07
上記のプロパティファイル。私はプロパティからホスト名を読み取ろうとしています。
Properties properties = new Properties()
File propertiesFile = new File('DomainBuild.properties')
propertiesFile.withInputStream {properties.load(it)}
def config = new ConfigSlurper().parse(properties)
def domainname="ENT" //will be passed through paremeters
def domain = config.get(domainname)
def managedServerFlow= {
println domain.managedserver
println domain.managedserver.keySet()
domain.managedserver.each {
println it.getClass()
println it.get("1")
}
for (server in domain.managedserver) {
println server.getClass()
println server
}
}
}
it.get( "1")が原因で次のエラーが発生しています。
No signature of method: java.util.LinkedHashMap$Entry.get() is applicable for argument types: (java.lang.String) values: [1]
Possible solutions: getAt(java.lang.String), grep(), grep(java.lang.Object), wait(), getKey(), any()
私はjavaとgroovyのドキュメントを見て、解決しないまま数時間を過ごしました。助けてください。
ありがとう:だから
println "$it.key: $it.value"
またはか、直接キー「1」の値を取得したい場合はいずれかのことができます。当初、私は標準のjava forループを試しました、 'foreach(server in domain.managedservers)'と.get .putの考え方に固執しました。キーと価値が理にかなっています。 – vamirineni87