Gradle 渐变:根据配置文件加载属性文件
我想写一个gradle构建脚本,它可以在不同的环境中工作(开发、实时)。 在每个环境中,我必须加载不同的属性集(目标目录、数据库等)Gradle 渐变:根据配置文件加载属性文件,gradle,Gradle,我想写一个gradle构建脚本,它可以在不同的环境中工作(开发、实时)。 在每个环境中,我必须加载不同的属性集(目标目录、数据库等) 是否有一种渐进的方式来读取依赖于环境或配置文件的属性文件?您可能需要查看 包括插件: plugins { id 'net.saliman.properties' version '1.4.2' } 创建属性文件: gradle-dev.properties 或 打电话给格雷德尔: gradle myTask -PenvironmentName=dev gr
是否有一种渐进的方式来读取依赖于环境或配置文件的属性文件?您可能需要查看 包括插件:
plugins {
id 'net.saliman.properties' version '1.4.2'
}
创建属性文件:
gradle-dev.properties
或
打电话给格雷德尔:
gradle myTask -PenvironmentName=dev
gradle myTask -PenvironmentName=prod
还可以看看gradle的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这就是解决方案。我只是想知道,gradle不支持开箱即用。你应该阅读整篇文章,这是一篇关于gradle属性处理的优秀文档。你有一个带有multi-env profile的小样本项目吗?这将为许多人节省大量时间
if (project.hasProperty('env')) {
println "Target environment: $env"
sourceSets.main.resources.srcDir "src/main/environment/$env"
}