一、本地仓库位置
maven本地仓库配置借助settings.xml,gralde则通过环境变量。windows环境下,新增系统变量GRADLE_USER_HOME,内容为本地仓库位置。如果不设置,默认在%USER_HOME%\.gradle下面。gradle下载的jar包存放在%GRADLE_USER_HOME%\caches\modules-2\files-2.1下面。
二、gradle脚本初始化顺序
1 命令行执行, 如 gradle –init-script %gradle_Dir%/init.gradle -q taskName
2 读取%USER_HOME%\.gradle\init.gradle文件
3 读取%USER_HOME%\.gradle\init.d\*.gradle文件
4 读取%GRADLE_HOME%\init.d\*.gradle文件
正常来说,建议直接填加%USER_HOME%\.gradle\init.gradle文件,以第二种方式读取即可。具体内容的选择,强烈建议参考阿里云仓库,上面提供了最新的仓库提址和书写样式,直接复制就行。
下面是我的,写得比较简单
allprojects {
repositories {
mavenLocal()
maven {
url 'https://maven.aliyun.com/repository/public/'
}
maven {
url 'https://maven.aliyun.com/repository/spring/'
}
maven {
url 'https://maven.aliyun.com/repository/spring-plugin/'
}
maven {
url 'https://maven.aliyun.com/repository/gradle-plugin/'
}
mavenCentral()
}
}
三、寻找jar的顺序
1 首先去gradle本地仓库找
2 如果找不到,按照*.gradle文件提供的指示,如果*.gradle文件里面有mavenLocal(),则按照settings.xml(maven配置文件)的指示,到maven的本地仓库去找
3 如果还是找不到,则按照*.gradle文件的提示,到远程仓库去找
4 远程仓库找到后,下载到本地
四、技巧及避坑
1 idea中,如果觉得每次从远程仓库下载慢,可以远程离线调试。通过file-->setting,进入设置面板,搜索栏输入gradle,进入gradle设置项,勾选offline work。
2 工程应用中,如果选择gradle wrapper中的版本,如果下载gradle较慢,可以更改projectDir\gradle\wrapper\gradle-wrapper.properties文件,将网络地址改成本地地址。事先通过网盘博客等途径下载gradle版本到本地,可以极大提升软件速度。
#Wed Apr 30 09:08:48 CDT 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=file:///H:/GradleRepo/wrapper/gradle-1.11-bin.zip
#distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-bin.zip
3 离线环境下gradle仓库配置:如果需要在无网络情况下使用gradle,需要从A(有网络)的地点先下载jar包到gradle本地仓库,再将仓库转移至B(离线环境)下使用。特别提醒,A地和B地使用的gradle版本最好是一致的。本人踩过坑,因为版本不一致,发现在离线环境下,找不到本地仓库里的jar包,折腾了很久。