我有一个 Spring boot Gradle 项目,该项目具有基于不同环境的多个属性,例如 application-dev.properties
、application-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"))
}
}}