Maven 镜像
简介
阿里云Maven中央仓库为阿里云云效提供的公共代理仓库,帮助研发人员提高研发生产效率,使用阿里云Maven中央仓库作为下载源,速度更快更稳定。阿里云云效 是企业级一站式 DevOps 平台,覆盖产品从需求到运营的研发全生命周期,其中云效也提供了免费、可靠的Maven私有仓库Packages,欢迎您体验使用。
下载地址: https://maven.aliyun.com/
配置方法
Maven 配置
打开 Maven 的配置文件(windows机器一般在maven安装目录的conf/settings.xml),在<mirrors></mirrors>
标签中添加 mirror 子节点:
- <mirror>
- <id>aliyunmaven</id>
- <mirrorOf>*</mirrorOf>
- <name>阿里云公共仓库</name>
- <url>https://maven.aliyun.com/repository/public</url>
- </mirror>
-
- <mirror>
- <id>nexus-aliyun</id>
- <mirrorOf>central</mirrorOf>
- <name>Nexus aliyun</name>
- <url>http://maven.aliyun.com/nexus/content/groups/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>
-
- <!-- 使用aliyun代理 -->
- <repositories>
- <repository>
- <id>central</id>
- <name>aliyun maven</name>
- <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
- <layout>default</layout>
- <!-- 是否开启发布版构件下载 -->
- <releases>
- <enabled>true</enabled>
- </releases>
- <!-- 是否开启快照版构件下载 -->
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
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()
- }
- }
问题:
真正解决Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom
解决问题:(方式一:)
- 在新建maven工程时,会自执行maven的各种命令
- 在此处设置忽略证书检查
- 命令如下
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
(方式二:)
手动导入证书:
- 确保maven中setting文件中的阿里源配置正确 (注意url中协议为https!)
- <mirror>
- <id>nexus-aliyun</id>
- <mirrorOf>central</mirrorOf>
- <name>Nexus aliyun</name>
- <url>https://maven.aliyun.com/nexus/content/groups/public</url>
- </mirror>
-
将阿里镜像库的证书加到信任证书库里面
-
打开上面阿里源的网址
-
通过chrome浏览器下载证书到本地
- 一路next,将文件命名为ali_maven,后缀默认为.cer,保存到D盘根目录
- 通过证书添加到java信任证书库
cacerts包含了很多CA证书,位置在Java的安装目录:如: C:\Program Files\Java\jre1.8.0_171\lib\security\carcerts
-
以管理员身份打开命令提示符(cmd)
-
进入carcerts所在文件目录
-
执行命令keytool -import -alias cacerts -keystore cacerts -file d:\ali_maven.cer
-
默认密钥库口令:changeit
-
是否信任此证书?[否]: Y
-
显示证书已添加到密钥库中即表示添加成功
-
回到项目中重新clean,compile,解决
扩展一个小知识点:
如果你的项目采用的是模块开发,但是你导入依赖之后没有显示出来不是maven的问题,解决可以通过在depencies中进行依赖的导入在进行dependencyManagement的管理!或者直接不进行处理,因为这些模块的依赖是没有使用过的,可以在子模块中使用就会消失这个报错!