Maven之阿里云镜像仓库配置

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

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是将阿里云maven仓库同步到本地的详细步骤: 1. 安装rsync 如果您的系统中没有安装rsync,需要先安装rsync。在Ubuntu/Debian系统中,可以使用以下命令安装: ``` sudo apt-get install rsync ``` 在CentOS/RHEL系统中,可以使用以下命令安装: ``` sudo yum install rsync ``` 2. 创建本地目录 在本地创建一个目录,用于存放同步的maven仓库文件。例如,我们可以在本地创建一个目录`/opt/maven-repo`。 ``` mkdir /opt/maven-repo ``` 3. 同步阿里云maven仓库 使用以下命令同步阿里云maven仓库: ``` rsync -av --progress rsync://maven.aliyun.com/repository/public/ /opt/maven-repo/ ``` 其中, - `-av`参数表示以归档模式同步目录,包括所有子目录、文件和属性。 - `--progress`参数表示显示同步进度。 - `rsync://maven.aliyun.com/repository/public/`表示要同步的阿里云maven仓库地址。 - `/opt/maven-repo/`表示同步到本地的目标目录。 同步可能需要一些时间,取决于您的网络速度和仓库大小。 4. 配置本地maven仓库maven的`settings.xml`文件中配置本地maven仓库路径,将`<localRepository>`标签值指向之前创建的目录`/opt/maven-repo`。例如: ``` <settings> <localRepository>/opt/maven-repo</localRepository> ... </settings> ``` 现在,您就可以使用本地的maven仓库了。当您在项目中使用maven构建时,maven会自动从本地maven仓库获取依赖项,而不是从远程仓库获取。这将提高构建速度,并减少对远程仓库的依赖。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值