maven 同时配置远程仓库和中央仓库的方法 mirroOf 标签意义

2023-11-13

问题描述:

在公司内做maven项目开发时使用的都是公司内部搭建的私有远程仓库做项目开发,所以导致setting文件的设置如下:

 <mirrors>

    <mirror>
    <id>myRepository1</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
     </mirror> 

     <mirror>
      <id>nexus-myself</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus myself</name>
      <url>http://172.30.201.125:8000/repository/maven-public/</url>
     </mirror>

 </mirrors>

想要使用中央仓库做开源项目的开发时就发现很多中央仓库的jar文件无法下载:

1.添加如下配置:

 <mirrors>

    <mirror>
    <id>myRepository1</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
     </mirror> 

     <mirror>
      <id>nexus-myself</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus myself</name>
      <url>http://172.30.201.125:8000/repository/maven-public/</url>
     </mirror>

 </mirrors>

 

当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:

  • 步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
  • 步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中以备将来引用。
  • 步骤 3 - 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
  • 步骤 4 - 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。

但是自己的添加了阿里云仓库之后并没有按照上面所描述的顺序下载jar文件,依旧无法下载;

经过询问公司大神了解发现是因为自己不是很了解<mirrorOf>标签的作用导致的。

<mirrorOf>*</mirroOf>  标记镜像类型     * 标识所有jar访问都走该仓库  配置多镜像仓库时需要指定仓库类型:

参照https://www.cnblogs.com/huiy/p/8184580.html网站介绍之后果断修改配置如下:

 

<mirrors>

<mirror>
    <id>myRepository1</id>
    <mirrorOf>nexus-aliyun</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror> 
     <mirror>
      <id>nexus-myself</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus myself</name>
      <url>http://172.30.201.35:8081/repository/maven-public/</url>
     </mirror>
  </mirrors>

将远程仓库(私有仓库)使用<mirrorOf>central</mirrorOf>标记为远程仓库

将远程仓库(私有仓库)使用<mirrorOf>Nexus aliyun</mirrorOf>标记为中央仓库

最后在项目的pom.xml文件中配置使用的仓库信息

<repositories>
    <repository>
        <id>myRepository1</id>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </repository>
</repositories>

动态获取仓库信息,至此动态加载远程仓库跟中央仓库jar文件的配置完成

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

maven 同时配置远程仓库和中央仓库的方法 mirroOf 标签意义 的相关文章

随机推荐

  • win10 cpu虚拟化打不开

    win10 cpu 虚拟化打不开 重启进入windows 的bios界面 一共需要调整两处Intel Virtualization Technology 一个在advance下 另一个在advance下的cpu设置里面 两个都设置为enab
  • 软件测试题目汇总

    软件缺陷 1 软件未实现产品说明书要求的功能 2 软件出现了产品说明书指明不应该出现的错误 3 软件实现了产品说明书未提到的功能 4 软件未实现产品说明书虽未明确提及但应该实现的目标 5 软件难以理解 不易使用 运行缓慢或者从测试员的角度看
  • 爬取天眼查 的python 代码

    Description 天眼查关键词爬取风险信息 Author bessie lina Date 2019 08 14 17 39 30 LastEditTime 2019 08 30 16 32 13 LastEditors Please
  • docker 安装fileBrowser

    fileBrowser 是一个 Web 文件浏览器 它更类似于一个网盘服务器 使我们可以在浏览器中访问服务器上的文件资源 同时 fileBrowser 还支持添加多个用户 并为不同的用户设置不同的访问权限 除此之外 fileBrowser
  • Eclipse添加注释的快捷键alt+shift+j

    http www cnblogs com xuedexin articles 5658346 html
  • [464]Outlook如何备份邮件

    如何在outlook中添加新账户 点击outlook菜单栏上的 文件 选项 可以看到主界面右侧有一个 添加账户 的选项 点击 添加账户 进入其设置界面 这里有三大选项 请选择 手动设置服务器设置或其他服务器类型 点击下一步 进入 选择服务
  • vue3+vite快速配置eslint的踩坑

    前言 本文强调快速配置eslint 所以不使用下载依赖包和配置的方式进行eslint配置 而是使用现有的eslint自动化构建的包进行快速配置 无论是新项目要集成eslint还是已经开发了一段时间的项目中途要加入eslint都可以按文章中的
  • Linux笔记&Linux常用指令合集

    1 Linux文件结构 linux的目录中有且只有一个根目录 linux的各个目录存放的内容是规划好 不能乱放文件 linux是以文件的形式管理我们的设备 因此linux系统 一切皆为文件 bin Binary的缩写 用来存放常用命令的 比
  • Python GUI 设计(一)———Tkinter窗口创建、组件布局

    本篇开始介绍用Python的Tkinter模块来设计图形化界面 尽量用简洁的语言和实例让读者能看明白 轻松入门 1 1 创建窗口 tkinter模块是Pyhton自带的标准GUI库 可以直接导入 导入tkinter模块后 可以使用下面的方法
  • TCP/IP协议栈与数据包封装

    TCP IP网络协议栈分为应用层 Application 传输层 Transport 网络层 Network 和链路层 Link 四层 如下图所示 该图出自 TCPIP 图 36 1 TCP IP协议栈 两台计算机通过TCP IP协议通讯的
  • 2022年的就业前景

    硕士毕业的话 可以有很多选择 1 如果自己德才兼备 不要凭自我感觉 那么可以继续研究 攻读博士学位 2 对技术痴迷 可以废寝忘食 建议去企业 不要去那些所谓的阿猫阿狗 3 喜欢跟人打交道的 可选择国企 事业单位 或者考公 4 金鳞乃非池中物
  • 抖音seo源码开发搭建(开源)

    抖音seo源码开发搭建 开源 本篇文章将介绍如何开发搭建一款抖音SEO源码 并提供开源资源 我们采用Node js作为主要开发工具 使用Thinkphp自研框架搭建后台服务 同时利用Python对数据进行爬取和处理 最终通过Elastics
  • 阿里巴巴Java开发规约p3c插件扩展-自定义开发规范

    1 前言 工作中难免会遇到维护别人代码的情况 那么首先就得看懂别人写的代码 如果对方写的代码混乱臃肿 维护成本必然很高 如果对方写的代码优雅清晰 那维护的人看起来必然心情愉悦 正所谓 前人栽树 后人乘凉 前人埋坑 后人骂娘 代码首先是给人看
  • 猿人学第一题尝试分析【混淆,改写】

    猿人学JS逆向大赛第一题 分析 地址 https match yuanrenxue com match 1 第一步 解决Debug问题 添加一个条件断点 这样添加条件断点后 就不会一直触发Debug调试了 第二步 找到接口Api 随机翻页一
  • 计算机网络实验:RIP路由协议配置

    目录 前言 实验目的 实验内容 相关知识点 实验设备 实验过程 总结 前言 计算机网络是指由多台计算机通过通信设备和通信线路互联起来 实现信息交换的系统 计算机网络中的路由器是一种专用的网络设备 它负责根据目的地址选择最佳的传输路径 将数据
  • linux 弱网环境模拟

    linux 环境 1 tc qdisc add dev eth0 root netem delay 100ms 10ms 将 eth0 网卡的传输设置为延迟 100ms 10ms 90 110 ms 之间的任意值 发送 所有的包 2 tc
  • python函数闭包

    闭包 函数的闭包与函数的嵌套类似 它返回的不是一个值 而是一个函数 也就是说在函数内定义函数 如加法函数 def sum a def add b return a b 内部函数add 引用了外部函数sum 的变量a return add 外
  • echarts自定义X轴、Y轴间距

    echarts自定义X轴 Y轴间距 1 自定义间距 1 自定义间距 最近做一个项目 要求x y 轴间距自定义 因为项目数据X轴为时间轴 Y轴为对数数据轴 由于x轴的时间轴各段时间点返回密度不均匀 所以一开始用interval 官网上spli
  • 面试——软件测试

    自我介绍 Web与app测试的区别 App与小程序测试的区别 小程序的兼容性测试怎么测 小程序测试需要分别测试Android和iOS吗 还是怎么测试 Android小程序和iOS小程序的测试区别 测试流程 介绍一下项目 公司有几个测试 秒杀
  • maven 同时配置远程仓库和中央仓库的方法 mirroOf 标签意义

    问题描述 在公司内做maven项目开发时使用的都是公司内部搭建的私有远程仓库做项目开发 所以导致setting文件的设置如下