Gradle编译时下载依赖失败解决方法

若是Gradle在编译的时候没有在本地仓库中发现依赖,就会从远程仓库中下载,默认的远程仓库为mavenCentral(),也就是http://repo1.maven.org/maven2/,可是每每访问速度特别慢,不FQ常常会下载超时或者须要很长时间致使Build失败,所以,能够用国内的仓库代替:html


修改单独项目

在项目的build.gradle文件中,修改repositories配置 
由:ruby

repositories { mavenCentral() }

改成:maven

repositories { maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} }

或:ide

repositories { maven{ url 'http://maven.oschina.net/content/groups/public/'} }

这样就能够从国内的镜像中下载依赖,速度能提升很多gradle

注意:ui

  • build.gradle文件里有两处repositories,都须要改掉
  • 阿里云的速度比较快,更稳定

更改全部项目

若是想一次更改全部的仓库地址,能够在USER_HOME/.gradle/(如C:\Users\hellowood\.gradle)文件夹下添加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 } } }

这样就能够在项目编译的时候从阿里的仓库中下载依赖了url