【发布时间】:2017-03-05 13:06:53
【问题描述】:
我想编写一个 gradle 构建脚本,它可以在不同的环境(开发、实时)中工作。 在每个环境中,我都必须加载不同的属性集(目标目录、数据库等)。
是否有根据环境或配置文件读取属性文件的 gradle 方式?
【问题讨论】:
标签: gradle
我想编写一个 gradle 构建脚本,它可以在不同的环境(开发、实时)中工作。 在每个环境中,我都必须加载不同的属性集(目标目录、数据库等)。
是否有根据环境或配置文件读取属性文件的 gradle 方式?
【问题讨论】:
标签: gradle
您可能想查看Gradle Properties Plugin。
包含插件:
plugins {
id 'net.saliman.properties' version '1.4.2'
}
创建属性文件:
gradle-dev.properties
或
gradle-prod.properties
调用gradle:
gradle myTask -PenvironmentName=dev
gradle myTask -PenvironmentName=prod
【讨论】:
还可以查看 gradle 的 equivalent 的 maven 个人资料。
【讨论】:
我有同样的问题,但我使用 spring 并将其配置为从 classpath:application.properties 读取属性
在这种情况下,您可以使用 java 插件将其添加到 gradle.build
if (project.hasProperty('env')) {
println "Target environment: $env"
sourceSets.main.resources.srcDir "src/main/environment/$env"
}
这适用于基于环境的不同文件夹
所以要基于环境'dev'添加资源,你应该有'src/main/environment/dev'文件夹(带有属性文件),并调用gradle:gradle myTask -Penv=dev
【讨论】: