16

谁能告诉我 gradlew 是否比 gradle 有任何优势?

我对gradle-wrapper.properties文件也有一些疑问。

最初我跑的时候

C:\project_basedir>gradle wrapper

gradle-wrapper.properties我在文件中找到了以下内容。

#Thu Jun 12 17:06:10 IST 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-bin.zip

要停止下载 zip 文件,我已按照第61.1 章中建议的步骤进行操作。配置gradle文档并将gradle-1.12-bin.zip文件从我的本地 gradle 安装添加到<Project_Base>\gradle\wrapper目录。并修改属性文件如下:

#Thu Jun 12 17:06:10 IST 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=gradle-1.12.zip

它节省了下载时间。

我的 Gradle 安装结构如下:

C:\Users\sanjeev\Softwares\Gradle\gradle-1.12\bin

我已将系统属性设置GRADLE_USER_HOME为我的本地安装目录,即C:\Users\sanjeev\Softwares\Gradle\gradle-1.12。但是distributionBase&distributionPath选项没有选择价值。

我什至尝试将值修改为:

distributionBase=file://C://Users//sanjeev//Softwares//Gradle//gradle-1.12

那没起效。

Exception in thread "main" java.lang.RuntimeException: Base: file:/C:/Users/sanjeev/Softwares/Gradle/gradle-1.12 is unknown

有人可以建议我在这里缺少什么吗?

或者简而言之,如何正确定义distributionBase,和?distributionPathzipStoreBasezipStorePath

4

4 回答 4

16

gradlew 相对 gradle 的优势在于:

  1. 您不必在您的机器上安装 gradle 来构建您的项目。
  2. 您可以控制构建项目所需的 gradle 版本。

我不确定在属性文件中更改分发 url 的意义。包装器的全部意义在于它下载 gradle。如果您在本地获得它,您不妨安装并使用 gradle。无论如何,包装器只会下载一次分发并为每个用户存储它(因此使用 GRADLE_USER_HOME)。

GRADLE_USER_HOME 是环境属性,而不是系统属性。如果要使用系统属性更改 gradle 用户主目录,则需要设置“gradle.user.home”。

于 2014-06-12T12:49:26.987 回答
3

获得正确的 gradle-wrapper.properties 的最佳方法是使用gradle wrapper. 但这需要本地 gradle 安装。手动编辑该文件的内容时,您需要小心转义。试试这个distributionUrl

distributionUrl=file\://gradle/wrapper/gradle-1.12-bin.zip

还有一条评论:如果您将 gradle 安装放在本地 bin 存储库中(例如,在您的 nexus 或 artifactory 存储库中)并让 gradlew 从那里下载引用的 gradle bin,可能会更容易维护。好处是,您只需要更新 distributionURL。

于 2014-06-12T13:32:58.467 回答
2

如果您尝试将包装器的 distributionUrl 更改为指向本地 Gradle.zip 文件。

(不带空格)改成file \ : ///C:\Users\sanjeev\Softwares\Gradle\gradle-1.12.zip(这里的文件名gradle-1.12.zip必须和你电脑里的一样。 )

于 2016-09-15T14:01:16.707 回答
0

如下所示删除空格,否则将不起作用:

distributionUrl= file\:///c:/Users\sanjeev\Softwares\Gradle\gradle-1.12.zip
于 2021-02-22T04:33:12.890 回答