问题
当我们在github或其他地方拉下项目后,需要对项目依赖进行处理,我们可能会用到maven或gradle
使用gradle处理依赖时经常会发生卡顿,或下载速度慢(之前有过下了3个小时的情况,实在忍不了),或干脆下载失败的问题,如何解决呢?
使用国内镜像
修改项目下的build.gradle
1 2 3
| repositories { mavenCentral() }
|
修改为
1 2 3 4 5 6 7 8 9 10 11
| //我自己用的阿里的 感觉速度不慢 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本地仓库地址)
1 2 3 4
| repositories { mavenLocal() //先去本地找,在去中央找 mavenCentral() }
|
将原本的mavenCentral()(Maven中央仓库)替换为mavenLocal()(Maven本地仓库)
1 2 3 4 5 6
| //仓库设置 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文件中配置下载地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 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 } } }
|