整理自Maven官方文档与阿里云官方文档 - 云效Maven公共代理库
使用单个存储库
通过让Maven镜像所有存储库请求,可以强制Maven使用单个存储库。存储库必须包含所有需要的构件,或者能够将请求代理到其他存储库。当使用带有Maven存储库管理器的内部公司存储库来代理外部请求时,此设置非常有用
为了达到这个目的,将 mirrorOf
设为 *
注意:该特性仅在 Maven 2.0.5+ 中可用
<settings>
...
<mirrors>
<mirror>
<id>internal-repository</id>
<name>Maven Repository Manager running on repo.mycompany.com</name>
<url>http://repo.mycompany.com/proxy</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
...
</settings>
-
id, name
: 此镜像的唯一标识符,id用于区分镜像元素,并在连接到镜像时从<servers>
部分中选择相应的凭据 -
url
: 这个镜像的基本URL,构建系统将使用此URL连接到存储库,而不是原始存储库URL -
mirrorOf
: 此镜像所在的存储库的id。例如,要指向Maven中央存储库的镜像(https://repo.maven.apache.org/maven2/),请将此元素设置为central
阿里云公共代理库
maven.aliyun.com代理了很多公共的maven仓库
使用maven.aliyun.com中的仓库地址作为下载源,速度更快更稳定
代理的仓库列表
配置指南
maven配置指南
打开maven的配置文件在<mirrors></mirrors>
标签中添加mirror
子节点:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
如果想使用其它代理仓库,可在<repositories></repositories>
节点中加入对应的仓库使用地址
以使用spring代理仓为例:
<repository>
<id>spring</id>
<url>https://maven.aliyun.com/repository/spring</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
gradle配置指南
在build.gradle文件中加入以下代码:
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public/' }
mavenLocal()
mavenCentral()
}
}
如果想使用maven.aliyun.com提供的其它代理仓,以使用spring仓为例,代码如下:
allProjects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/spring/'}
mavenLocal()
mavenCentral()
}
}