3

次のようなグルーヴィーな構成ファイルがあります

section1 {
    prop1 = val1
    prop2 = val2
    section2 {
       prop3 = val3
    {
}

// other style properties in this file
anotherprop = someval

// as well as some other statements
println "hello there"

たとえば、prop3 の値を変更するための groovy スクリプトを書きたいと思います。Groovyでこれを行う良い方法はありますか? ファイルには複数のスタイルのプロパティとprintlnが含まれているため、少し難しいです。

4

1 に答える 1

0

私が理解しているように、あなたは設定ファイルを変更したいと思っています。

ファイルにはprintln他のステートメントがあるため、configurationSlurperを使用してファイルを読み取ることはできません。

私は簡単な方法だと思います(しかし、私はこの解決策に反対票を投じることを期待しています)-:regsubを使用することです:

def config = new File('config.groovy').getText()
def newValue = 18
def newConfig = config.replaceAll(/(?ms)(prop3[ \t]*=[ \t]*)([0-9]*)/,'$1'+newValue)
new File('config.groovy').write(newConfig)

これはほとんどの場合かなり安定しているはずです...

于 2012-10-07T09:31:39.040 に答える