Gradle 根据环境属性构建战争文件



我有一个 Spring boot Gradle 项目,该项目具有基于不同环境的多个属性,例如 application-dev.propertiesapplication-prod.properties 等。

我想做的是,构建一个基于环境参数只有一个application.properties文件的战争文件。

我有以下使用processResources

processResources {
    def profile = (project.hasProperty('profile') ? project.profile : 'prod').toLowerCase()
    include "**/application-${profile}.properties"
    rename {
        'application.properties'
    }
}

我遇到的唯一问题是,这不包括资源文件夹中的所有静态文件。例如,在我的资源文件夹中,我有静态文件夹、模板文件夹和其他一些静态文件。任何帮助将不胜感激。

我的方法是使用 doFirst 来替换环境的属性。

喜欢这个

war {
doFirst {
    def propertyFile = file("build/resources/main/env_${branch}.properties")
    if(propertyFile.exists()){
        delete 'build/resources/main/env.properties'
        propertyFile.renameTo(file("build/resources/main/env.properties"))
    }
}}

相关内容

  • 没有找到相关文章

最新更新