阻止 gradle.properties 扩展
Prevent gradle.properties expansion
我是 Gradle 环境中的新手,我正在开发 Spring 应用程序,在 application.properties
文件中使用 属性 扩展,例如:server.port = $ {app_server_port}
一切正常,当我使用 gradle build
命令构建时,Gradle 获取文件 ~ / .gradle / gradle.properties
并将变量扩展到构建的 application.properties
文件中。
我的问题是:
- 如何防止 属性 扩展?
gradle build
中有任何命令行参数会使其忽略~ / .gradle / gradle.properties
并使用原始值构建源代码吗?
- 有类似
gradle build --skip-global-settings
?
谢谢
您可以这样编写构建脚本:
apply plugin: 'java'
def props = new Properties()
file("local.properties").withInputStream { props.load(it) }
processResources {
if (project.hasProperty('expand'))
expand(props)
}
现在,如果您使用 gradlew build -Pexpand
属性 进行构建,扩展将使用 local.properties
.
中的值完成
如果您使用 gradlew build
构建,则不会发生 属性 扩展。
请注意,我建议不要将项目特定属性放入 ~ / .gradle / gradle.properties
,因为此文件在您在计算机上构建的所有项目之间共享。
我是 Gradle 环境中的新手,我正在开发 Spring 应用程序,在 application.properties
文件中使用 属性 扩展,例如:server.port = $ {app_server_port}
一切正常,当我使用 gradle build
命令构建时,Gradle 获取文件 ~ / .gradle / gradle.properties
并将变量扩展到构建的 application.properties
文件中。
我的问题是:
- 如何防止 属性 扩展?
gradle build
中有任何命令行参数会使其忽略~ / .gradle / gradle.properties
并使用原始值构建源代码吗?- 有类似
gradle build --skip-global-settings
?
谢谢
您可以这样编写构建脚本:
apply plugin: 'java'
def props = new Properties()
file("local.properties").withInputStream { props.load(it) }
processResources {
if (project.hasProperty('expand'))
expand(props)
}
现在,如果您使用 gradlew build -Pexpand
属性 进行构建,扩展将使用 local.properties
.
如果您使用 gradlew build
构建,则不会发生 属性 扩展。
请注意,我建议不要将项目特定属性放入 ~ / .gradle / gradle.properties
,因为此文件在您在计算机上构建的所有项目之间共享。