Maven、Gradle 配置国内镜像源
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 配置国内镜像源的更多相关文章
- Android studio配置国内镜像源
Android studio配置国内镜像源 不使用镜像也是可以的,据说谷歌在中国搭建了服务器 如果直接使用有问题,不妨使用镜像试试.有自动探测代理配置和手动代理配置. https://blog.csd ...
- Anaconda配置国内镜像源
1. 为conda配置(清华)镜像源 使用conda进行安装时,访问的是国外的网络,所以下载和安装包时会特别慢.我们需要更换到国内镜像源地址,这里我更换到国内的清华大学地址.(永久添加镜像) Wind ...
- pip 命令参数以及如何配置国内镜像源
文章更新于:2020-04-05 注:如果 pip 命令不可以用,参见:python pip命令不能用 文章目录 一.参数详解 1.命令列表 2.通用参数列表 二.实际应用 1.常用命令 2.`pip ...
- Kubernetes helm配置国内镜像源
1.删除默认的源 helm repo remove stable 2.增加新的国内镜像源 helm repo add stable https://burdenbear.github.io/kube- ...
- docker 配置国内镜像源 linux/mac/windows
部分内容来自:http://guide.daocloud.io/dcs/daocloud-9153151.html 加速器官方DaoCloud承诺:加速器服务永久免费且无流量限制 使用前提:注册Dao ...
- manjaro18 配置国内镜像源
1.配置镜像源: sudo pacman-mirrors -i -c China -m rank 2.设置 archlinuxcn 源: sudo nano /etc/pacman.conf 添加以下 ...
- Ubuntu18.04..5 配置国内镜像源:解决E: Failed to fetch
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 问题描述 使用 sudo apt get-install 出现 E: Failed to fetch问题. 更换镜像源 错误原因:绝大多数情况下, ...
- CentOS7-Docker 配置国内镜像源
Docker中国官方镜像加速 --registry-mirror=https://registry.docker-cn.com 网易163镜像加速 --registry-mirror=http://h ...
- ubuntu14.04开启root用户 设置root密码 配置国内镜像源 设置分辨率
一.Ubuntu 默认是不允许 root 通过 ssh 直接登录的,可以修改 /etc/ssh/sshd_config,设置 1 PermitRootLogin yes 然后重启 ssh 服务即可 1 ...
随机推荐
- ACM-ICPC 2019 山东省省赛 M Sekiro
Sekiro: Shadows Die Twice is an action-adventure video game developed by FromSoftware and published ...
- POJ - 2251 Dungeon Master (搜索)
You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of un ...
- bzoj4173 数学
bzoj4173 数学 欧拉\(\varphi\)函数,变形还是很巧妙的 求: \[\varphi(n)\cdot\varphi(m)\cdot\sum_{n\bmod k+m\bmod k\ge k ...
- unittest 管理用例生成测试报告
# 登录方法的封装 from appium import webdriver from time import sleep from python_selenium.Slide import swip ...
- LeetCode 刷题1---两数之和
/** 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中 ...
- 使用Proteus模拟操作HDG12864F-1液晶屏
在Proteus中模拟了89C52操作HDG12864F-1液晶屏,原理图如下: 一.HDG12864F-1官网信息 该液晶屏是Hantronix的产品,官网上搜索出这个型号是系列型号中的一种,各种型 ...
- JPA---Spring-data-JPA---Hibernate
Spring Data JPA--搭建环境 版本---maven 3.6.3 <properties> <spring.version>5.2.5.RELEASE</s ...
- Day_09【常用API】扩展案例8_计算字符'j'和字符串'java'在字符串中出现的次数
需求说明 定义如下字符串: String str = "javajfiewjavajfiowfjavagkljjava"; 请分别定义方法统计出: 1.字符串中:字符j的数量 2. ...
- [hihoCoder1236 Scores 2015BeijingOnline]简单粗暴的分块+简单粗暴的bitset
题意:50000个5维向量,50000次询问每一维都不大于某一向量的向量个数,强制在线. 思路:做完这题才知道bitset效率这么高,自己本地测试了下1s可以操作1010个bit,orz简单粗暴 令S ...
- [hdu3364]xor方程组消元
题意:n个灯,m个开关,给定每个开关控制的灯,全部的灯初始时全部熄灭,开关按一下其所控制的灯的状态全部反转,开关最多只能按一下.问达到目标状态的方案数. 思路:xor方程组的模型. 1 2 3 4 5 ...