我在Mac Yosemite上使用Gradle 2.7。我有以下文件:
src/main/environment/dev/context.xml
src/main/environment/qa/context.xml
src/main/environment/prod/context.xml
我想要的是,如果我运行构建
gradle -Pqa build
,则将上面相应的context.xml
文件复制到我的WAR
中(进入WEB-INF / classes目录就可以了)。如何使用gradle进行设置?
最佳答案
有很多解决问题的方法。在构建sourceSets
文件时,您可以配置include
或exclude
或war
特定资源。您也可以使用一个context.xml
,并使用ReplaceTokens
过滤器执行资源过滤。
我选择了sourceSets
:
apply plugin: 'war'
ext.env = project.hasProperty('env') ? project.env : 'dev'
sourceSets {
main {
resources {
srcDir "src/main/environment/$env"
}
}
}
诀窍是仅包含/处理要传递的
env
。如果没有传递env
,则会选择dev
进行进一步处理。看看demo。
关于gradle - 如何根据配置文件将文件复制到WAR中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33373744/