Maven

全局配置

修改 Maven 默认的全局配置文件:

  • 类 Unix 系统: Mac OS / Linux 默认在 ~/.m2/settings.xml
  • Windows 系统:一般在 Maven 安装目录的 conf/settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- 添加以下这段 Mirror 配置 -->
<mirrors>
<!-- Aliyun -->
<mirror>
<id>aliyunmaven</id>
<name>aliyun maven</name>
<mirrorOf>*</mirrorOf>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors> </settings>

单项目配置

修改项目的 pom.xml,添加以下内容:

<repositories>
<repository>
<id>aliyunmaven</id>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
</repositories>

Gradle

全局配置

在 ${USER_HOME}/.gradle/ 目录下创建 init.gradle 文件,添加以下内容:

allprojects {
repositories {
def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
}
}
maven { url ALIYUN_REPOSITORY_URL }
}
}

单项目配置

修改项目的 build.gradle 文件,添加以下内容:

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

也可以直接添加在 repositories 内:

repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
mavenCentral()
}

其他仓库

在上面的配置中,我们主要配置的是 public 仓库,而 阿里云: https://maven.aliyun.com 除此之外,还代理了许多其他的仓库,可作为下载源。如 google、spring 等(更多可点进链接查看详情)。

而我们常用的 public 仓库,其实是 central: https://repo1.maven.org/maven2/ 仓库和 jcenter: http://jcenter.bintray.com/ 仓库的聚合,所以配置了 public 仓库,就不需要再配置 jcenter 的仓库了。

若需要使用其他的代理仓库,如 google、spring,可参考以下配置:

Maven

全局配置

同上,修改 settings.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <mirrors>
<!-- Aliyun -->
<mirror>
<id>alimaven-public</id>
<name>aliyun public maven repo</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>*</mirrorOf>
</mirror> <mirror>
<id>alimaven-google</id>
<name>aliyun google maven repo</name>
<url>https://maven.aliyun.com/repository/google</url>
<mirrorOf>*</mirrorOf>
</mirror> <mirror>
<id>alimaven-spring</id>
<name>aliyun spring maven repo</name>
<url>https://maven.aliyun.com/repository/spring</url>
<mirrorOf>*</mirrorOf>
</mirror> <!-- Tencent Cloud -->
<!-- <mirror>
<id>nexus-tencentyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus tencentyun</name>
<url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</mirror> --> <!-- Netease 163 -->
<!-- <mirror>
<id>netease</id>
<mirrorOf>*</mirrorOf>
<name>Netease maven</name>
<url>http://mirrors.163.com/maven/repository/maven-public/</url>
</mirror> -->
</mirrors> </settings>

单项目配置

修改 pom.xml:

<repositories>
<repository>
<id>aliyunmaven-google</id>
<name>aliyun google maven repo</name>
<url>https://maven.aliyun.com/repository/google</url>
<layout>default</layout>
<!-- 是否开启 release 版构件下载 -->
<releases>
<enabled>true</enabled>
</releases>
<!-- 是否开启 snapshot 版构件下载 -->
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>aliyunmaven-spring</id>
<name>aliyun spring maven repo</name>
<url>https://maven.aliyun.com/repository/spring</url>
</repository>
</repositories>

是否开启 releases、snapshots 版下载可根据自身需求调整。

Gradle

全局配置

allprojects {
repositories {
def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public'
def ALIYUN_GOOGLE_URL = 'https://maven.aliyun.com/repository/google'
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')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
if (url.startsWith('https://dl.google.com/dl/android/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE_URL."
remove repo
}
}
}
maven { url ALIYUN_REPOSITORY_URL }
maven { url ALIYUN_GOOGLE_URL }
}
}

单项目配置

修改 `build.gradle`:

buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/spring' }
}
} allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/spring' }
}
}

其他镜像源

腾讯云

https://mirrors.cloud.tencent.com

参考配置:

Maven

 <mirror>
<id>nexus-tencentyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus tencentyun</name>
<url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</mirror>
<repositories>
<repository>
<id>nexus-tencentyun</id>
<name>Nexus tencentyun</name>
<url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</repository>
</repositories>

Gradle

buildscript {
repositories {
maven { url 'http://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
}
} allprojects {
repositories {
maven { url 'http://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
}
}

FAQ

Q: 为什么你配置里用的 URL 都是 https://maven.aliyun.com/repository/public,而我看其他的人/文章,都用的是 http://maven.aliyun.com/nexus/content/groups/public 呢?

A: 阿里云在前几年对 https://maven.aliyun.com 进行了代码和架构上的改造,新版的 https://maven.aliyun.com 下载速度更快,支持高并发,而且全站进行了 HTTPS 加密,更安全。而新版的 Maven Mirror 地址,就是 https://maven.aliyun.com/repository/{reponame},然而阿里云为了保持旧地址的兼容,所以旧地址依然可以使用,但推荐使用新地址。

更多详情可参考: https://yq.aliyun.com/articles/621196?commentId=21341

Maven、Gradle 配置国内镜像源的更多相关文章

  1. Android studio配置国内镜像源

    Android studio配置国内镜像源 不使用镜像也是可以的,据说谷歌在中国搭建了服务器 如果直接使用有问题,不妨使用镜像试试.有自动探测代理配置和手动代理配置. https://blog.csd ...

  2. Anaconda配置国内镜像源

    1. 为conda配置(清华)镜像源 使用conda进行安装时,访问的是国外的网络,所以下载和安装包时会特别慢.我们需要更换到国内镜像源地址,这里我更换到国内的清华大学地址.(永久添加镜像) Wind ...

  3. pip 命令参数以及如何配置国内镜像源

    文章更新于:2020-04-05 注:如果 pip 命令不可以用,参见:python pip命令不能用 文章目录 一.参数详解 1.命令列表 2.通用参数列表 二.实际应用 1.常用命令 2.`pip ...

  4. Kubernetes helm配置国内镜像源

    1.删除默认的源 helm repo remove stable 2.增加新的国内镜像源 helm repo add stable https://burdenbear.github.io/kube- ...

  5. docker 配置国内镜像源 linux/mac/windows

    部分内容来自:http://guide.daocloud.io/dcs/daocloud-9153151.html 加速器官方DaoCloud承诺:加速器服务永久免费且无流量限制 使用前提:注册Dao ...

  6. manjaro18 配置国内镜像源

    1.配置镜像源: sudo pacman-mirrors -i -c China -m rank 2.设置 archlinuxcn 源: sudo nano /etc/pacman.conf 添加以下 ...

  7. Ubuntu18.04..5 配置国内镜像源:解决E: Failed to fetch

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 问题描述 使用 sudo apt get-install 出现 E: Failed to fetch问题. 更换镜像源 错误原因:绝大多数情况下, ...

  8. CentOS7-Docker 配置国内镜像源

    Docker中国官方镜像加速 --registry-mirror=https://registry.docker-cn.com 网易163镜像加速 --registry-mirror=http://h ...

  9. ubuntu14.04开启root用户 设置root密码 配置国内镜像源 设置分辨率

    一.Ubuntu 默认是不允许 root 通过 ssh 直接登录的,可以修改 /etc/ssh/sshd_config,设置 1 PermitRootLogin yes 然后重启 ssh 服务即可 1 ...

随机推荐

  1. 计算4的n次幂html代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. HTML后台管理页面布局

    设计网页,让网页好看:网上找模板 搜 HTML模板 BootStrap 一.内容回顾: HTML 一大堆的标签:块级.行内 CSS position background text-align mar ...

  3. Java和php中的try-catch分析

    为什么80%的码农都做不了架构师?>>>   描述:对一个健壮的系统来讲,异常处理是必不可少的一部分,针对异常的管理,主要就是异常的捕获和处理操作,然而在php中使用try-catc ...

  4. qemu-img 整理

    qemu-img命令语法: qemu-img command [command options] check命令: check [-f fmt < qcow2 | qed | vdi >] ...

  5. Codeforce-CodeCraft-20 (Div. 2)-B. String Modification (找规律+模拟)

    Vasya has a string s of length n. He decides to make the following modification to the string: Pick ...

  6. windows下flume 采集如何支持TAILDIR和tail

    一.问题:Windows 下 flume采集配置TAILDIR的时候,会报如下错误: agent.sources.seqGenSrc.type = TAILDIR agent.sources.seqG ...

  7. 用js写出一个漂亮的单选框选中效果

    一般的input框比较简单,我们可以用JavaScript配合css背景图片定位让我们模拟写出一个点击选中效果 首先需要有个图片素材,当页面加载的时候是背景图片定位到左图,当我们点击图片的时候,背景图 ...

  8. 【Kafka】Producer API

    Producer API Kafka官网文档给了基本格式 地址:http://kafka.apachecn.org/10/javadoc/index.html?org/apache/kafka/cli ...

  9. FOC中电流环调试的宝贵经验总结(有理有据+全盘拖出)

    你是否经历过一个人独自摸索前进磕磕碰碰最终体无完肤,然后将胜利的旗帜插到山顶的时刻,如果有,本文也许能帮你在调试FOC电流环的时候给你带来一些帮助和思路. 如果本文帮到了您,请帮忙点个赞

  10. LabVIEW动态添加控件

    综述: 事例1: 未执行: 执行后: