maven常见问题处理(3-3)Gradle编译时下载依赖失败解决方法

Gradle编译时在本地仓库中如果没有发现依赖,就会从远程仓库中下载,

默认的远程仓库为 mavenCentral(),即 http://repo1.maven.org/maven2/往往访问速度特别慢,经常会下载超时或者需要很长时间导致Build失败,

因此,可以用如下的国内仓库代替:

  • 阿里的仓库地址:http://maven.aliyun.com/nexus/content/groups/public/
  • OSChina的仓库地址:http://maven.oschina.net/content/groups/public/

阿里云的速度比较快,更稳定一些。

一、如果使用gradle,修改gradle配置

1、修改单独项目

修改 build.gradle文件,修改repositories配置

maven常见问题处理(3-3)Gradle编译时下载依赖失败解决方法_第1张图片

由:

repositories {
mavenCentral()
}

改为:

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

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

这样就可以从国内的镜像中下载依赖,速度能提高不少!!!

注意:

build.gradle文件里有两处repositories,都需要改掉

2、修改所有项目

如果想一次更改所有的仓库地址,可以在USER_HOME/.gradle/(如C:\Users\hellowood\.gradle)文件夹下添加init.gradle文件来配置

maven常见问题处理(3-3)Gradle编译时下载依赖失败解决方法_第2张图片

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
}
}
}

这样就可以在项目编译的时候从阿里的仓库中下载依赖了
init.build脚本可以参考https://docs.gradle.org/current/userguide/init_scripts.html

二、如果使用maven,修改maven配置 

阿里云搭建了一个国内镜像 http://maven.aliyun.com/,速度很快,在Maven的settings.xml配置, 只需在mirrors节点里面加上一个mirror子节点,

内容如下:

<mirror>
    
    <id>nexus-aliyunid> <mirrorOf>*mirrorOf> <name>Nexus aliyunname> <url>http://maven.aliyun.com/nexus/content/groups/publicurl> mirror>

修改完毕之后,就可以体验下飞快的感觉了,如果进度条还是很慢,尝试重启下 IDE 。

你可能感兴趣的:(maven常见问题处理(3-3)Gradle编译时下载依赖失败解决方法)