3

我有一个 groovy 配置文件,看起来像

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"

例如,我想编写一个 groovy 脚本来更改 prop3 的值。在 groovy 中有没有好的方法来做到这一点?这有点困难,因为该文件包含多种样式的属性以及 println。

4

1 回答 1

0

据我了解,您想修改配置文件

由于您println在文件中有其他语句,因此无法使用 configurationSlurper 读取文件。

我想最简单的方法(但我希望得到 thsi 解决方案的反对票)-: 是使用 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 回答