我正在将maven项目迁移到gradle项目。在maven项目中,我们曾经有不同环境的配置文件,它将dir的context.xml添加到生成的战争的META-INF中。
资源目录结构如下:
| |-- resources
| | |-- META-INF-Contexts
| | | |-- dev
| | | | `-- context.xml
| | | |-- qa
| | | | `-- context.xml
| | | |-- prod
| | | `-- context.xml
| | |-- app.properties
| `-- webapp
| |-- favicon.ico
| `-- WEB-INF
| `-- web.xml
现在在gradle中我想传递一个属性(env)并根据值,它应该采用正确的context.xml文件并将其放在META-INF目录下。
我尝试的方法如下:
ext {
isDev = System.properties['env'] == 'dev'
isQa = System.properties['env'] == 'qa'
isProd = System.properties['env'] == 'prod'
}
war {
if (isDev) {
metaInf { from 'src/main/resources/META-INF-Contexts/dev/context.xml' }
} else if (qa) {
metaInf { from 'src/main/resources/META-INF-Contexts/qa/context.xml' }
} else {
metaInf { from 'src/main/resources/META-INF-Contexts/prod/context.xml' }
}
}
但它没有将context.xml放在META-INF目录中。任何帮助将不胜感激。