【问题标题】:Prevent gradle.properties expansion防止 gradle.properties 扩展
【发布时间】:2017-11-11 21:27:57
【问题描述】:

我是 Gradle 环境中的新手,我正在开发一个在 application.properties 文件中具有属性扩展的 Spring 应用程序,例如:server.port = $ {app_server_port}

一切正常,当我使用gradle build 命令构建时,Gradle 获取文件~ / .gradle / gradle.properties 并将变量展开到构建的application.properties 文件中。

我的问题是:

  • 如何防止属性扩展?
  • gradle build 中有任何命令行参数会使其忽略~ / .gradle / gradle.properties 并使用原始值构建源代码?
  • 有类似gradle build --skip-global-settings的东西吗?

谢谢

【问题讨论】:

    标签: java spring gradle application.properties gradle.properties


    【解决方案1】:

    您可以这样编写构建脚本:

    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,因为此文件在您在计算机上构建的所有项目之间共享。

    【讨论】:

    • 谢谢Thomas 它就像一个魅力
    猜你喜欢
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 2012-12-10
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    相关资源
    最近更新 更多