在Github上新建了一个项目,用的是Gradlewrapper,在异地导下来之后,遇到一些问题,记录下来.

导下来是这样的

先Convert to faceted form改下编码格式等等

然后项目成了这样

这是因为相关的jar包都没有加载的原因,右键项目Configuration -> Add gradle Nature.得提前把gradle的插件装上,最新的插件是buildship,在Eclipse -> Help -> Eclipse Marketspace里搜索装上即可.

在执行了Add Gradle Nature后,Eclipse会下载Gradle文件,如下图

但是因为这个压缩包很大,几十M,通常会因为网络原因而下载失败.可以用其它工具下载,解压到本地目录即可.但是如何让项目使用本地的Gradle而不去下载?

首先看一下/gradle/wrapper/gradle-wrapper.properties文件,内容如下

distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zip

由上可知,项目会通过该路径https://services.gradle.org/distributions/gradle-2.13-bin.zip 下载Gradle的压缩包.

要修改这个文件让其使用本地的gradle.

修改文件

distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/dists#distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zipdistributionUrl=file\:///C:/gradle-2.13-all.zip

这样就不会从远程服务器下了,就会使用本的Gradle.

也可以将gradle文件复制到项目的gradle/wrapper目录下,然后把distributionUrl设置成下面的内容

distributionUrl=gradle-2.13-all.zip

但是如此的话,项目文件很大.

还有一个没有确认的信息: gradle会把下载到的zip文件复制到elipse里设置的Gradle user home下,供以后使用.

参考文档:

https://discuss.gradle.org/t/how-to-switch-off-download-gradle-distribution/6347

http://stackoverflow.com/questions/24184579/how-to-properly-write-a-gradle-wrapper-properties-file

http://stackoverflow.com/questions/22896569/how-to-use-gradle-zip-in-local-system-without-downloading-when-using-gradle-wrap