如何使用gradle

时间:2017-11-14 12:35:08

标签: java maven gradle

我正在将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目录中。任何帮助将不胜感激。

0 个答案:

没有答案