Gradle 打包实现生产环境与测试环境配置分离
前篇是使用 Maven 进行的包管理,这次我们使用 Gradle 进行 Java Web Server 的包管理的配置。
配置 Gradle 配置文件
build.gradle 中配置相关的 resources 配置文件的目录。不同的资源文件放置在 src/main/filters/$env
目录下,其中 $env 目录为环境名,例如:dev、test、product 等等。且定义了默认环境为 dev 环境。
def env = System.getProperty("profile") ?: "dev"
sourceSets {
main {
resources {
srcDirs = ["src/main/resources", "src/main/filters/$env"]
}
}
}
把不同环境的 properties 的文件,分别放在 filters 目录下的不同的环境文件中,如下图。
在使用 Gradle 编译的时候,添加参数 -Dprofile=dev
来指定编译的最终代码为何环境。如:
# 把程序编译成生产环境
./gradlew bootRepackage -Dprofile=product
使用 Intellij IDEA 启动不同的 Gradle 环境
这里的方式同本文前篇所讲述的方式,可以直接参见 maven 的使用方式。