Maven仓库镜像配置_maven镜像配置-程序员宅基地

技术标签: Java  java  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使用单一仓库,配置如下:

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

高级配置

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xwd127429/article/details/125849386

智能推荐

c/c++动态指定sprintf字符串的宽度_sprintf 指定宽度-程序员宅基地

文章浏览阅读1.4k次。sprintf函数可用*号指定字符串的长度 int width = 8; char *buf = new char[width+1]; sprintf(buf, "%0*d", width, 1); cout << buf << endl; delete buf;输出结果:00000001_sprintf 指定宽度

JEECG - 基于代码生成器的J2EE智能开发框架 续六 JEECG 前台页面和后台交互讲解_easyui代码生成器 java-程序员宅基地

文章浏览阅读291次。JEECG - 基于代码生成器的J2EE智能开发框架 续六 JEECG 前台页面和后台交互讲解_easyui代码生成器 java

MFC90条技巧-带目录_mfc status message-程序员宅基地

文章浏览阅读2.3k次。1."属性页的添加:2."List Control中标题栏(Column)的添加:3."ToolBar和StatusBar中控件的添加:4."通过Control创建的控件,对其属性的动态控制:5."窗口的分割与停靠:6. ①怎样在程序开始的时候让它最大化?②vc++做出来的exe文件在窗体的右上方是没有最大化和最小化按钮的,怎样实现这一功能?_mfc status message

C++ 构造函数和析构函数 详解_c构造函数和析构函数-程序员宅基地

文章浏览阅读2.3w次,点赞145次,收藏780次。C++中用构造函数和析构函数来初始化和清理对象,这两个函数将会被编译器自动调用。对象的初始化和清理是非常重要的,如果我们不提供构造函数与析构函数,编译器会自动提供两个函数的空实现。............_c构造函数和析构函数

C++11 多线程_c11多线程打印abc十次-程序员宅基地

文章浏览阅读282次。C++11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread()等,使用起来都比较复杂,C++11提供了新头文件、、、等用于支持多线程。使用C++11开启一个线程是比较简单的,下面来看一个简单的例子:#include #include_c11多线程打印abc十次

[转]开源大数据处理工具汇总_开源 数据转换-程序员宅基地

文章浏览阅读483次。查询引擎一、Phoenix贡献者::Salesforce简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询。Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集。直接使用HBase API、..._开源 数据转换

随便推点

移动端web使用了input type=file点击却无法打开文件选择器(vue)_html 的input 在夸克浏览器中无法使用选择文件-程序员宅基地

文章浏览阅读4k次。**问题:**移动端web使用了input type=file点击却无法打开文件选择器(vue),找了好一会才找到问题所在,原因是在input的上级元素上的事件上添加了阻止默认事件。去掉之后就可以打开了。_html 的input 在夸克浏览器中无法使用选择文件

命令模式—C++实现撤消重做_c++中撤销和恢复的设计逻辑-程序员宅基地

文章浏览阅读5.7k次,点赞3次,收藏23次。Command结构 意图 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。适用性 1、抽象出待执行的动作以参数化某对象,你可用过程语言中的回调(c a l l b a c k )函数表达这种参数化机制。所谓回调函数是指函数先在某处注册,而它将在稍后某个需要的时候被调用。C o m m a n d 模式是回调机制的一个面向对象的替_c++中撤销和恢复的设计逻辑

移动通信核心网络技术总结(三)EPC网络的结构及原理_epc网络架构图-程序员宅基地

文章浏览阅读1.2w次,点赞11次,收藏128次。核心网络技术总结(三)EPC网络原理EPC网络结构及功能EPC网络中存在着以下几个网元:eNodeB、MME、HSS、PCRF、SGW、PGW我们可以拿坐火车的过程进行类比,我们把数据比作乘客,那么eNodeB就相当于火车站,数据从eNodeB上车。MME和HSS就相当于火车站的播报员和管理员,他们告诉你在哪个候车厅上车、车去哪里。当你知道去哪里候车后,要通过SGW上车,SGW就相当于检票口,过了这个口数据就从用户端到达了PDN端,相当于上了火车通过这里前往别的省份, PDN将带领你前_epc网络架构图

自动化安装Linux系统—ftp_ftp://192.168.9.157-程序员宅基地

文章浏览阅读1.9k次。autoinstall_system—ftp文章目录autoinstall_system—ftp服务介绍工作过程第一步:PXE Client向DHCP服务器发送请求第二步:DHCP服务器提供信息第三步:PXE客户端请求下载启动文件第四步:Boot Server响应客户端请求并传送文件第五步:请求下载自动应答文件第六步:客户端安装操作系统实验环境需要安装的服务操作过程一、 关闭selinux 和 防火墙二、部署 DHCP 服务器1、修改配置2、重启服务3、查看dhcp服务三、部署tftp-server服._ftp://192.168.9.157

D L N A介 绍-程序员宅基地

文章浏览阅读799次。这部分的内容大多来源于网络及官方文档,按照自己的翻译理解整理所成。东西比较多,从头慢慢看还是可以懂个大概的。 目录:一、DNLA的建立二、DLNA的成员三、DLNA标准的制定四、DLNA的设备五、DLNA的架构六、云时代的数字家庭(待填坑) 扩展阅读I: UPnP的工作过程------------DLNA基础协议框架扩展阅读II UPnP AV(Audi

用JAVA实现记事本_记事本 cambria math 分数-程序员宅基地

文章浏览阅读275次。用Java语言实现Windows版本的记事本程序(实现了部分功能模块的记事本),代码复制粘贴如下:import java.awt.;import java.io.;import java.awt.event.;import javax.swing.;import java.net.;import javax.swing.border.;import java.util.Date;import java.text.SimpleDateFormat;import java.lang.*;_记事本 cambria math 分数