Maven仓库镜像配置的方法实现

 更新时间:2024年12月02日 11:38:39   作者:邢为栋  
本文介绍了如何使用Maven仓库镜像来加速构建过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在使用Maven构建中,使用仓库镜像,可以加速构建,这里介绍仓库镜像使用方法,留作笔记。

配置说明

使用仓库镜像

配置一个仓库的镜像,可以编辑配置文件(${user.home}/.m2/settings.xml):

如果没有${user.home}/.m2/settings.xml,可以从maven安装目录的conf目录下复制。

<settings>
  ...
  <mirrors>
    <mirror>
      <id>other-mirror</id>
      <name>Other Mirror Repository</name>
      <url>https://other-mirror.repo.other-company.com/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
  ...
</settings>

参数说明:

参数说明
id镜像ID
name镜像名
url镜像url
mirrorOf镜像仓库替换的目标仓库

使用单一仓库

如果希望所有maven请求都访问一个仓库(比如自建仓库),可以指定maven使用单一仓库,配置如下:

&lt;settings&gt;
  ...
  &lt;mirrors&gt;
    &lt;mirror&gt;
      &lt;id&gt;internal-repository&lt;/id&gt;
      &lt;name&gt;Maven Repository Manager running on repo.mycompany.com&lt;/name&gt;
      &lt;url&gt;http://repo.mycompany.com/proxy&lt;/url&gt;
      &lt;mirrorOf&gt;*&lt;/mirrorOf&gt;
    &lt;/mirror&gt;
  &lt;/mirrors&gt;
  ...
&lt;/settings&gt;

高级配置

mirrorOf还支持更高级的语法,示例如下:

作用
*匹配所有仓库
external:*匹配所有仓库,除了localhost仓库和基于文件的仓库
repo,repo1匹配repo,repo1两个仓库
*,!repo1匹配所有仓库,处理repo1

常见用法

假设项目的pom中的仓库配置如下:

<repositories>
    <repository>
        <id>central</id>
        <url>https://repo1.maven.org/maven2</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>cloudera.repo</id>
        <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
        <name>Cloudera Repo</name>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>hortonworks.repo</id>
        <url>https://repo.hortonworks.com/content/repositories/releases</url>
        <name>Hortonworks Repo</name>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

用法一

使用阿里云maven镜像替换central仓库,其他不变,配置如下:

<settings>
  ...
  <mirrors>
    <mirror>
      <id>aliyunmaven</id>
      <name>Aliyun Maven</name>
      <url>https://maven.aliyun.com/repository/public</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
  ...
</settings>

用法二

除了cloudera.repo和hortonworks.repo,都使用阿里云镜像,配置如下:

<settings>
  ...
  <mirrors>
    <mirror>
      <id>aliyunmaven</id>
      <name>Aliyun Maven</name>
      <url>https://maven.aliyun.com/repository/public</url>
      <mirrorOf>*,!cloudera.repo,!hortonworks.repo</mirrorOf>
    </mirror>
  </mirrors>
  ...
</settings>

参考:https://maven.apache.org/guides/mini/guide-mirror-settings.html

到此这篇关于Maven仓库镜像配置的方法实现的文章就介绍到这了,更多相关Maven仓库镜像配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring如何重写内置Bean(Controller、Service等)

    Spring如何重写内置Bean(Controller、Service等)

    本文介绍了在Spring Boot工程中处理外部JAR包中Controller方法重写的需求,通过PostProcessor方式和自定义注解@ExcludeBean两种方法,解决了在不修改源代码的情况下重写接口的问题
    2025-01-01
  • 关于Java的Character类详解

    关于Java的Character类详解

    这篇文章主要介绍了关于Java的Character类详解,Java中的Character类是一个包装类,用于封装一个基本数据类型char的值,它提供了一些静态方法来操作字符,需要的朋友可以参考下
    2023-05-05
  • Java算法之计数排序、桶排序、基数排序实现代码

    Java算法之计数排序、桶排序、基数排序实现代码

    这篇文章主要介绍了Java算法之计数排序、桶排序、基数排序实现的相关资料,分别通过计数、分桶和位数处理实现高效稳定排序,文中通过代码及图文介绍的非常详细,需要的朋友可以参考下
    2025-05-05
  • Mybatis plus中使用in查询出错如何解决

    Mybatis plus中使用in查询出错如何解决

    这篇文章主要介绍了Mybatis plus中使用in查询出错的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Java集合教程之Collection实例详解

    Java集合教程之Collection实例详解

    集合,或者叫容器,是一个包含多个元素的对象,下面这篇文章主要给大家介绍了关于Java集合教程之Collection的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-08-08
  • Java AtomicInteger类的使用方法详解

    Java AtomicInteger类的使用方法详解

    这篇文章主要介绍了Java AtomicInteger类的使用方法详解,文中有具体实例代码,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • SpringMVC Restful风格与中文乱码问题解决方案介绍

    SpringMVC Restful风格与中文乱码问题解决方案介绍

    Restful就是一个资源定位及资源操作的风格,不是标准也不是协议,只是一种风格,是对http协议的诠释,下面这篇文章主要给大家介绍了关于SpringMVC对Restful风格支持的相关资料,需要的朋友可以参考下
    2022-10-10
  • Java实现ECDSA签名算法

    Java实现ECDSA签名算法

    这篇文章主要介绍了Java实现ECDSA签名算法,帮助大家更好得利用Java实现机器学习算法,感兴趣的朋友可以了解下
    2020-10-10
  • Spring Boot 实现配置文件加解密原理

    Spring Boot 实现配置文件加解密原理

    这篇文章主要介绍了Spring Boot 实现配置文件加解密原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • mybatis 使用concat 模糊查询方式

    mybatis 使用concat 模糊查询方式

    这篇文章主要介绍了mybatis 使用concat 模糊查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01

最新评论