如何在战争创造时改变Gradle中.properties的内容

时间:2016-11-18 03:01:57

标签: java gradle war

我正在尝试使用Gradle的战争插件。此时项目仍在使用Ant。它是一个标准的webapp布局:

| - project
| ---- src/main/java
| ---- src/main/resource
| ---- src/main/webapp
| ---- src/main/webapp/WEB-INF/classes

src/main/webapp/WEB-INF/classes中,有一个包含密钥jawr.debug.on的属性文件。出于开发目的,通常将其设置为true。在发布阶段,使用Ant的属性文件任务将此属性更改为false

我无法在Gradle中找到类似的方法。我确实在下面找到了片段,但它并没有在最终的战争中改变所述文件:

ant.propertyfile(
    file: "jawr.properties") {
    entry( key: "jawr.debug.on", value: "false")
}

实现这一目标的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

一种方法是在战争创造期间过滤它

war {   
        rootSpec.eachFile {
            if (it.name == 'UserMessages.properties') {
                filter { line ->
                    line.replace('@build.label@', "${buildLabel}-${stage}")
                }
            }
        }
    }