Maven 镜像
简介
阿里云Maven中央仓库为阿里云云效提供的公共代理仓库,帮助研发人员提高研发生产效率,使用阿里云Maven中央仓库作为下载源,速度更快更稳定。阿里云云效是企业级一站式 DevOps 平台,覆盖产品从需求到运营的研发全生命周期,其中云效也提供了免费、可靠的Maven私有仓库Packages,欢迎您体验使用。
下载地址:/
配置方法
Maven 配置
打开 Maven 的配置文件(windows机器一般在maven安装目录的conf/settings.xml),在<mirrors></mirrors>
标签中添加 mirror 子节点:
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>/repository/public</url></mirror><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>/nexus/content/groups/public</url></mirror>
如果想使用其它代理仓库,可在<repositories></repositories>
节点中加入对应的仓库使用地址。以使用spring代理仓为例:
<repository><id>spring</id><url>/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>/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 '/repository/public/' }mavenLocal()mavenCentral()}}
如果想使用 提供的其它代理仓,以使用 spring 仓为例,代码如下:
allprojects {repositories {maven { url '/repository/public/' }maven { url '/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>/nexus/content/groups/public</url></mirror>
将阿里镜像库的证书加到信任证书库里面
打开上面阿里源的网址
/nexus/content/groups/public 或
/repository/central都是一样的
通过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的管理!或者直接不进行处理,因为这些模块的依赖是没有使用过的,可以在子模块中使用就会消失这个报错!