解决gradle各种下载失败问题

8,857 阅读1分钟

gradle下载失败多是由于远程仓库在境外导致连接超时造成的,解决的办法就是换成国内的仓库源,常用的就是阿里的仓库源。

下面介绍添加阿里仓库源的方法,两种方法:

一、项目单独配置

在项目根目录build.gradle中添加仓库地址,在两个repositories节点下添加阿里仓库地址:

// 省略
buildscript {
    // 省略
    repositories {
        // 省略
        maven {
            url 'https://maven.aliyun.com/repository/central'
        }
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
        maven {
            url 'https://maven.aliyun.com/repository/google'
        }
        maven {
            url 'https://maven.aliyun.com/repository/gradle-plugin'
        }
        maven {
            url 'https://maven.aliyun.com/repository/spring'
        }
        maven {
            url 'https://maven.aliyun.com/repository/spring-plugin'
        }
        maven {
            url 'https://maven.aliyun.com/repository/grails-core'
        }
        maven {
            url 'https://maven.aliyun.com/repository/apache-snapshots'
        }
        // 省略
    }
    // 省略
}
// 省略
allprojects {
	// 省略
    repositories {
    	// 省略
        maven {
            url 'https://maven.aliyun.com/repository/central'
        }
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
        maven {
            url 'https://maven.aliyun.com/repository/google'
        }
        maven {
            url 'https://maven.aliyun.com/repository/gradle-plugin'
        }
        maven {
            url 'https://maven.aliyun.com/repository/spring'
        }
        maven {
            url 'https://maven.aliyun.com/repository/spring-plugin'
        }
        maven {
            url 'https://maven.aliyun.com/repository/grails-core'
        }
        maven {
            url 'https://maven.aliyun.com/repository/apache-snapshots'
        }
        // 省略
    }
    // 省略
}
// 省略

在项目根目录setting.gradle最开始中添加仓库地址:

pluginManagement {
    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/central'
        }
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
        maven {
            url 'https://maven.aliyun.com/repository/google'
        }
        maven {
            url 'https://maven.aliyun.com/repository/gradle-plugin'
        }
        maven {
            url 'https://maven.aliyun.com/repository/spring'
        }
        maven {
            url 'https://maven.aliyun.com/repository/spring-plugin'
        }
        maven {
            url 'https://maven.aliyun.com/repository/grails-core'
        }
        maven {
            url 'https://maven.aliyun.com/repository/apache-snapshots'
        }
    }
}

二、全局配置

可以使用全局配置的方式,为gradle配置初始参数,添加阿里仓库:

buildscript {
    repositories {
    	maven {
            url 'https://maven.aliyun.com/repository/gradle-plugin'
    	}
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
    }
}
allprojects {
    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
    }
}

将以上内容保存为名称为 init.gradle 的文件,然后放到 USER_HOME/.gradle/ 目录下,其中USER_HOME在Windows下就是 C:\Users\你的用户名 目录,Linux下直接

cd ~

进入。

如果发现已有init.gradle文件,则把以上内容添加进去。

附懒人配置:

buildscript {

    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/central'
        }
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
        maven {
            url 'https://maven.aliyun.com/repository/google'
        }
        maven {
            url 'https://maven.aliyun.com/repository/gradle-plugin'
        }
        maven {
            url 'https://maven.aliyun.com/repository/spring'
        }
        maven {
            url 'https://maven.aliyun.com/repository/spring-plugin'
        }
        maven {
            url 'https://maven.aliyun.com/repository/grails-core'
        }
        maven {
            url 'https://maven.aliyun.com/repository/apache-snapshots'
        }

    }

}

allprojects {
    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/central'
        }
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
        maven {
            url 'https://maven.aliyun.com/repository/google'
        }
        maven {
            url 'https://maven.aliyun.com/repository/gradle-plugin'
        }
        maven {
            url 'https://maven.aliyun.com/repository/spring'
        }
        maven {
            url 'https://maven.aliyun.com/repository/spring-plugin'
        }
        maven {
            url 'https://maven.aliyun.com/repository/grails-core'
        }
        maven {
            url 'https://maven.aliyun.com/repository/apache-snapshots'
        }

    }
}