使用gradlew时老是要重复下载

我本地电脑里面已经安装了gradle 4.1的版本,然后我使用gradle init命令新建一个项目,之后使用gradlew命令,它就要重新下载一次gradle,这里我有点疑惑了,我本地都安装了相同版本的为什么他还要重新下载。

是不是以后每一个新项目使用了gradlew都要重新下载一次,第一次学习这个软件,请谅解

阅读 10.6k
2 个回答

因为gradlew 命令默认是为了保证 gradle 的版本与项目预期一致,配置文件的版本定义在 gradle/wrapper/gradle-wrapper.properties (以下简称配置文件)中,
在你执行gradle init后,配置文件里面的内容如下:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

看最后一行里的gradle-version-[bin|all].zip 肯定和你的本地的安装的版本一样,那为什么会重新下载呢?

原因如下:

  • gradlew 为了保证项目的正常使用,会使用项目配置文件中定义版本,url不同也认为是不同的‘版本’
  • gradlew 会把相应的版本下载到 用户主目录/.gradle/wrapper/dists/gradle-版本-[all|bin].zip/md5hash/目录下,并使用该版本

所以,只要你载过一次之后,只要配置文件中的url一样,下载过就不会重新下,你可以手动下载相应的版本放到该目录下,bin和all的区别就是有没有带源码。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏