【问题标题】:Where to put the gradle.properties filegradle.properties 文件放在哪里
【发布时间】:2015-05-19 18:52:15
【问题描述】:

我正在关注 Artifactory 1-min Setup。我在我的本地主机上启动并运行了 Artifactory,现在我正在尝试将它与 Intellij/Gradle 集成。

artifactory webapp 提供了一个gradle.propertiesbuild.gradle 文件,所以我试图开始将它们添加到我的IntelliJ 项目中。但是,我不知道将gradle.properties 文件放在哪里。

我尝试将gradle.properties 内容(键=值对)复制到gradle/wrapper/gradle-wrapper.properties,不幸的是,这样做不会使build.gradle 文件中的键可访问。有什么想法吗?

【问题讨论】:

    标签: intellij-idea gradle artifactory


    【解决方案1】:

    Gradle 在以下位置查找 gradle.properties 文件:

    • 在项目构建目录中(您的构建脚本所在的位置)
    • 在子项目目录中
    • 在 gradle 用户主页中(由 GRADLE_USER_HOME 环境变量定义,如果未设置则默认为 USER_HOME/.gradle

    一个文件中的属性将覆盖之前的属性(因此 gradle 用户主目录中的文件优先于其他文件,子项目中的文件优先于项目根目录中的文件)。

    参考:https://gradle.org/docs/current/userguide/build_environment.html

    【讨论】:

    • 太棒了,谢谢!我将 gradle.properties 文件添加到项目目录中,现在密钥已在 build.gradle 文件中解析。
    • 但是我们可以同时使用GRADLE_USER_HOME 下的gradle.properties 文件的属性以及根项目目录中的属性吗?
    • @BitwiseDEVS 不,不是文件,但键/值将被覆盖。
    • 我不喜欢这样的盲目引用。虽然约定优于配置有其优势。
    【解决方案2】:

    其实gradle.properties可以放在3个地方:

    1. GRADLE_USER_HOME环境变量定义的gradle用户主目录下,如果不设置默认为USER_HOME/.gradle
    2. 子项目目录(在您的情况下为myProject2
    3. 项目根目录(myProject下)

    Gradle 在所有这些地方寻找gradle.properties,同时根据上面的顺序优先考虑属性定义。例如,对于在 gradle 用户主目录 (#1) 和子项目 (#2) 中定义的属性,其值将从 gradle 用户主目录 (#1) 中获取。

    您可以在 gradle 文档 here 中找到有关它的更多详细信息。

    【讨论】:

      猜你喜欢
      • 2016-09-19
      • 2013-04-16
      • 2018-06-05
      • 2011-01-07
      • 2010-11-01
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多