如何使用命令行输入来选择要在 gradle 构建中使用的属性文件?
Posted
技术标签:
【中文标题】如何使用命令行输入来选择要在 gradle 构建中使用的属性文件?【英文标题】:How do I use command line input to select a properties file to use in a gradle build? 【发布时间】:2015-10-26 02:40:41 【问题描述】:我有一个 java 项目,它可以根据我将构建它的环境使用几个不同的属性文件之一(例如,development.properties 将为我提供对开发环境有益的属性),我想能够通过在命令行中选择它来控制构建中包含的一个 gradle。我知道您可以通过在 build.gradle 文件中添加类似内容来选择要包含在构建中的属性文件:
Properties props = new Properties()
props.load(new FileInputStream("/path/file.properties"))
但我希望能够在构建项目时即时选择要使用的属性文件。
【问题讨论】:
【参考方案1】:您可以通过多种方式将此信息传递到您的 gradle 构建中,命令行属性就是其中之一。
如果您查看https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_properties_and_system_properties
您会看到有一种方法可以传入命令行参数,您可以在 gradle 脚本中访问这些参数。
例如:
./gradlew -PenvFile="/path/file.properties" clean jar
您可以稍后通过您选择的键引用它来从 gradle 访问它,例如
task printProps <<
println envFile
哪个输出
./gradlew -PenvFile="/path/test.properties" printProps
:printProps
/path/test.properties
BUILD SUCCESSFUL
Total time: 0.747 secs
【讨论】:
以上是关于如何使用命令行输入来选择要在 gradle 构建中使用的属性文件?的主要内容,如果未能解决你的问题,请参考以下文章
Android Gradle 插件Android 依赖管理 ⑤ ( Gradle 依赖优化 | 命令行查看依赖模块 | 依赖冲突问题 | 依赖传递冲突 | 分库冲突 | 依赖分组不同导致冲突 )
如何在命令行中使用带有 gradle 的袜子来解决依赖关系?
如何在针对特定 Gradle 构建风格的同时从命令行运行单个单元测试方法
如何在使用命令行 Gradle (6.4) 构建 Spring Boot 应用程序时传递 spring.config.location="some path"