背景说明
由于国内网络限制的原因导致maven官方仓库下载速度特别慢,甚至很多依赖下载不下来,maven.aliyun.com代理了很多公共的maven仓库。使用maven.aliyun.com中的仓库地址作为下载源,速度更快更稳定。
使用指南
https://help.aliyun.com/document_detail/102512.html?spm=a2c40.aliyun_maven_repo.0.0.36183054FeuIPW
方案说明
一般情况下在mavne项目中有两种依赖
- maven构建依赖[dependency]
- maven插件依赖[plugin]
解决方案
坐标查询
https://maven.aliyun.com/mvn/search
仓库浏览
https://maven.aliyun.com/mvn/view
Repository | Type | Policy | Path |
---|---|---|---|
apache snapshots | proxy | SNAPSHOT | https://maven.aliyun.com/repository/apache-snapshots |
central | proxy | RELEASE | https://maven.aliyun.com/repository/central |
proxy | RELEASE | https://maven.aliyun.com/repository/google | |
gradle-plugin | proxy | RELEASE | https://maven.aliyun.com/repository/gradle-plugin |
jcenter | proxy | RELEASE | https://maven.aliyun.com/repository/jcenter |
spring | proxy | RELEASE | https://maven.aliyun.com/repository/spring |
spring-plugin | proxy | RELEASE | https://maven.aliyun.com/repository/spring-plugin |
public | group | RELEASE | https://maven.aliyun.com/repository/public |
releases | hosted | RELEASE | https://maven.aliyun.com/repository/releases |
snapshots | hosted | SNAPSHOT | https://maven.aliyun.com/repository/snapshots |
grails-core | proxy | RELEASE | https://maven.aliyun.com/repository/grails-core |
mapr-public | proxy | RELEASE | https://maven.aliyun.com/repository/mapr-public |
- proxy表示的是仓库代理
- hosted表示是物理上的仓库,相当于是阿里的私服
概念说明
目前在网络上主流有两种配置方案
第一种[主流]
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
- 表示把阿里的私服当做中央仓库来使用
- 可以下载到阿里私服里面的相关依赖[即使没有推送到中央仓库]
- 如果现有项目或业务强依赖阿里相关的组件,建议采用此种方案
第二种
<mirror>
<id>alimaven-central</id>
<mirrorOf>central</mirrorOf>
<name>aliyun central</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
表示使用阿里对中央仓库的代理进行使用
可以下载到阿里推送到中央仓库相关依赖[没有推送到中央仓库的依赖无法下载]
如果现有项目或业务强依赖没有阿里相关的组件,建议采用此种方案
最佳实践
dependency
repositories
repositories标签的作用是: 用来配置maven项目的远程仓库。
<repositories>
<repository>
<id>aliyun</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
mirror
进入maven的安装目录找到settings.xml
在mirrors
节点下添加如下配置
<mirror>
<id>alimaven-central</id>
<mirrorOf>central</mirrorOf>
<name>aliyun central</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>
<id>alimaven-google</id>
<mirrorOf>google</mirrorOf>
<name>aliyun maven google</name>
<url>https://maven.aliyun.com/repository/google/</url>
</mirror>
<mirror>
<id>alimaven-gradle-pluginr</id>
<mirrorOf>gradle-plugin</mirrorOf>
<name>aliyun maven gradle-plugin</name>
<url>https://maven.aliyun.com/repository/gradle-plugin/</url>
</mirror>
<mirror>
<id>alimaven-jcenter</id>
<mirrorOf>jcenter</mirrorOf>
<name>aliyun maven jcenter</name>
<url>https://maven.aliyun.com/repository/jcenter/</url>
</mirror>
<mirror>
<id>alimaven-spring</id>
<mirrorOf>spring</mirrorOf>
<name>aliyun maven spring</name>
<url>https://maven.aliyun.com/repository/spring/</url>
</mirror>
<mirror>
<id>alimaven-spring-plugin</id>
<mirrorOf>spring-plugin</mirrorOf>
<name>aliyun maven spring-plugin</name>
<url>https://maven.aliyun.com/repository/spring-plugin/</url>
</mirror>
<mirror>
<id>alimaven-grails-core</id>
<mirrorOf>grails-core</mirrorOf>
<name>aliyun maven grails-core</name>
<url>https://maven.aliyun.com/repository/grails-core/</url>
</mirror>
<mirror>
<id>alimaven-mapr-public</id>
<mirrorOf>mapr-public</mirrorOf>
<name>aliyun maven mapr-public</name>
<url>https://maven.aliyun.com/repository/mapr-public/</url>
</mirror>
jar依赖从阿里云下载
plugin
pluginRepository标签的作用是: 用来配置maven插件的远程仓库,找到项目的pom.xml配置,添加如下配置
<pluginRepositories>
<pluginRepository>
<id>alimaven-central</id>
<name>aliyun central</name>
<url>https://maven.aliyun.com/repository/central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>alimaven-jcenter</id>
<name>aliyun jcenter</name>
<url>https://maven.aliyun.com/repository/jcenter</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>alimaven-spring</id>
<name>aliyun spring</name>
<url>https://maven.aliyun.com/repository/spring</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
- plugin依赖从阿里云下载
快速配置
<repositories>
<repository>
<id>aliyun</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>aliyun-plugin</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
网友评论