首页 > 其他分享 >Maven之阿里云镜像仓库配置

Maven之阿里云镜像仓库配置

时间:2022-11-16 19:12:43浏览次数:86  
标签:maven https 证书 Maven 阿里 aliyun 镜像 com

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>

在这里插入图片描述

  • 一路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的管理!或者直接不进行处理,因为这些模块的依赖是没有使用过的,可以在子模块中使用就会消失这个报错!

标签:maven,https,证书,Maven,阿里,aliyun,镜像,com
From: https://www.cnblogs.com/zhaostudy/p/16897182.html

相关文章