Gradle配置解决下载速度慢问题
问题
当我们在github或其他地方拉下项目后,需要对项目依赖进行处理,我们可能会用到maven或gradle
使用gradle处理依赖时经常会发生卡顿,或下载速度慢(之前有过下了3个小时的情况,实在忍不了),或干脆下载失败的问题,如何解决呢?
使用国内镜像
修改项目下的build.gradle
repositories {
mavenCentral()
}
修改为
//我自己用的阿里的 感觉速度不慢
allprojects {
repositories {
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}
}
//也可以试试开源中国
repositories {
maven{ url 'http://maven.oschina.net/content/groups/public/'}
}
使用本地仓库
之前辛辛苦苦积累的maven库,转到Gradle后以前的库不想扔掉,那如何让gradle选择本地的库呢?需要配置gradle的环境变量并指定仓库地址
变量名:GRADLE_USER_HOME
(固定写法)
变量值:G:\maven\MavenRepository
(你的Maven本地仓库地址)
repositories {
mavenLocal() //先去本地找,在去中央找
mavenCentral()
}
将原本的mavenCentral()(Maven中央仓库)替换为mavenLocal()(Maven本地仓库)
//仓库设置
repositories {
mavenLocal() //指定使用maven本地仓库,而本地仓库在配置maven时setting文件指定的仓库位置。
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"} //指定阿里云镜像加速地址
mavenCentral() //这是Maven的中央仓库,无需配置,直接声明就可以使用
}
gradle按配置顺序寻找jar文件。如果本地存在就不会再去下载。不存在的再去maven仓库下载,这里注意下载下来的jar文件不在maven仓库里,而是在gradle的主工作目录下,如上面的D:.gradle目录
配置所有项目的处理地址
也可以对Gradle进行全局的设置,我的是G:/gradle/gradle-6.5/gradleRep
(idea中指定的路径)可能和旧版本的idea界面不一样,我的idea是2020.1.2,新建init.gradle文件,在init.gradle文件中配置下载地址
allprojects{
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
remove repo
}
}
}
maven {
url REPOSITORY_URL
}
}
}