详解Maven的setting配置文件中mirror和repository的区别
在Maven的setting中,我们常常会用到mirror和repository配置,其中mirror是镜像的意思,而repository则是仓库的意思,它们两者都可以改变maven下载项目以来jar包的地址。
仓库(repository)
repository就是个仓库,maven里有两种仓库,本地仓库和远程仓库。远程仓库相当于公共的仓库,大家都能看到。本地仓库是你本地的缓存副本,只有你看的到,主要起缓存作用。当你向仓库请求插件或依赖的时候,会先检查本地仓库里是否有。如果有则直接返回,否则会向远程仓库请求,并被缓存到本地仓库。远程仓库既可以在setting.xml中配置也可以在工程的pom.xml文件里指定。
镜像(mirror)
当maven需要到的依赖jar包不在本地仓库时,就需要到远程仓库下载,这个时候如果maven的setting.xml中配置了镜像,而且镜像配置的规则中匹配到目标仓库时,maven就直接去镜像中配置的仓库地址进行依赖jar的下载,而不会去其他的地方进行下载,简单而言,mirror可以拦截对远程仓库的请求,改变对目标仓库的下载地址。
mirror就是镜像,主要提供一个方便地切换远程仓库地址的途径。比如,上班的时候在公司,用电信的网络,连的是电信的仓库。回到家后,是网通的网络,我想连网通的仓库,就可以通过mirror配置,统一把我工程里的仓库地址都改成网通的,而不用到具体工程配置文件里一个一个地改地址。下面举个例子:
<mirrors><mirror><!-- 镜像id(多个镜像不能重复) --><id>UK</id><!-- 镜像名称 --><name>UK Central</name><!-- 镜像仓库地址 --><url>http://uk.maven.org/maven2</url><!-- 拦截规则 --><mirrorOf>central</mirrorOf></mirror>
</mirrors>
通过上面的配置,就会给id为central的远程仓库做了个镜像。以后向central这个仓库发的请求都会发http://uk.maven.org/maven2而不是http://repo1.maven.org/maven2了。
镜像拦截规则
为了满足一些复杂的需求,Maven提供了一些镜像拦截规则的配置,如下所示:
<mirrorOf>*</mirrorOf>
匹配所有远程仓库。<mirrorOf>external:*</mirrorOf>
匹配所有远程仓库,使用localhost的除外,使用file://协议的除外。也就是说,匹配所有不在本机上的远程仓库。<mirrorOf>repo1,repo2</mirrorOf>
匹配仓库repo1和repo2,使用逗号分隔多个远程仓库。<mirrorOf>*,!repo1</miiroOf>
匹配所有远程仓库,repo1除外,使用感叹号将仓库从匹配中排除。需要注意的是,由于镜像仓库完全屏蔽了其他同类的镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven由于无法访问其他同类的镜像仓库,因而将无法下载构件。
相关文章:
详解Maven的setting配置文件中mirror和repository的区别
在Maven的setting中,我们常常会用到mirror和repository配置,其中mirror是镜像的意思,而repository则是仓库的意思,它们两者都可以改变maven下载项目以来jar包的地址。 仓库(repository) repository就是个…...
框架模块说明 #07 API加密
背景 在实际开发过程中,我们通常会涉及到数据加密的问题。本文重点探讨两个方面:一是外部接口调用时的数据加密,二是服务间调用的数据加密与解密。 对于外部接口调用,每个用户将拥有独立的动态 AES 加密密钥(KEY&…...
安卓BLE蓝牙开发经验分享
注意点一:一开始必须申请权限,否则后面根本无法成功。 注意点二:BLE使用向某个特征写入来发送数据,写入一次默认长度是23字节,必须向蓝牙设备申请更大字节的写入才能发送更多字节。(23字节是BLE通信的最小…...
后缀表达式有什么场景应用
后缀表达式(Reverse Polish Notation, RPN)在多个领域中有广泛的应用,主要由于其简洁性和易于计算机处理的特点。以下是一些主要的应用场景: ### 1. **编译器和解释器** 后缀表达式在编译器和解释器中用于表达式求值。由于后缀表…...
使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构(未做共享存储版)
文章目录 使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构Redis 主从架构部署 (1.yaml)Redis Sentinel 部署 (2.yaml)Sentinel 服务暴露 (3.yaml)部署步骤总结 使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构 本文将详细介绍如何在 Kubernetes 中部署 Redis …...
AI开发 - 用GPT写一个GPT应用的真实案例
就在昨天,我的同事推荐给我了一个第三方的公共大模型API,这个API集合了国际上上几乎所有知名的大模型,只需要很少的费用,就可以接入到这些大模型中并使用它们。成本之低,令人乍舌!包括我们现在无法试用的 G…...
C#—索引器
C#—索引器 索引器(Indexer)是类中的一个特殊成员,它能够让对象以类似数组的形式来操作,使程序看起来更为直观,更容易编写。索引器与属性类似,在定义索引器时同样会用到 get 和 set 访问器,不同…...
杨振宁大学物理视频中黄色的字去掉(稳定简洁版本,四)
杨振宁大学物理1214 色带矩形带来很大麻烦! 今天想到一个方法,整个色带矩形拉通,做个通铺处理,不计算,代码做最小化,最稳定追求。 因为黄色字稳定,我们找到他的中心,而这个色带矩形…...
排序算法(5):归并排序
问题 排序 [30, 24, 5, 58, 18, 36, 12, 42, 39] 归并排序 归并排序采用分治法,将序列分成若干子序列,每个子序列有序后再合并成有序的完整序列。 在数组排序中,如果只有一个数,那么它本身就是有序的。如果有两个数࿰…...
Gate学习(7)引入体素源
一、从GitHub下载体素源模型源码 下载地址:BenAuer2021/Phantoms-for-Nuclear-Medicine-Imaging-Simulation:用于核医学成像应用的模型(闪烁显像、SPECT 和 PET) --- BenAuer2021/Phantoms-For-Nuclear-Medicine-Imaging-Simulat…...
2024.12.14 TCP/IP 网络模型有哪几层?
2024.12.14 TCP/IP 网络模型有哪几层? 2024.12.14 今天周六 看到大伙都在考六级,我来复盘小林coding的计算机网络的知识点: TCP/IP 网络模型有哪几层? 问大家,为什么要有 TCP/IP 网络模型? 对于同一台设备上的进程间通信,有…...
item2 for macos
安装Item2 brew install iterm2 查看终端类型 cat /etc/shells Mac OS X 10.15 已经将默认的shell从Bash换成了zsh,所以不用安装,10.15以前的可以使用下面的命令进行安装 brew install zsh 安装Oh My ZSH # curl sh -c "$(curl -fsSL https://ra…...
二维三维空间上两点之间的距离
二维三维路径上,路径总距离以及途径点与障碍物之间的距离等都需要计算两点之间的距离。两点之间的距离有多种计算方法,这些计算方法主要取决于所考虑的空间维度、点的属性以及具体的应用场景。以下是一些常见的距离计算方法: 1. 曼哈顿距离(Manhattan distance) 定义:也…...
相机测距原理
基础概念的回顾 焦距的定义 焦距是指透镜或镜头的光学中心(通常是透镜的几何中心)到其焦点的距离。 焦点是光线的交点,它指的是透镜或镜头聚焦所有入射光线后汇聚的位置。焦点的位置与透镜的曲率和光线的入射角度相关。就是说所有光线经过…...
Debezium SchemaNameAdjuster 分析
Debezium SchemaNameAdjuster 分析 目录 1. 概述2. 核心功能3. 实现原理4. 应用场景5. 扩展示例6. 总结1. 概述 SchemaNameAdjuster 是 Debezium 中的一个工具类,主要用于确保 Schema 名称符合 Avro 命名规范。在数据库变更事件被转换为 Kafka 消息时,需要为每个表和字段创…...
Stable Diffusion绘画 | SDXL模型使用注意事项
注意事项 SDXL模型的使用,对电脑配置要求更高,需要 8GB 以上显存的显卡SDXL模型兼容性不太好,容易出现错误,对 Mac 电脑不友好只能选择 SDXL模型 训练的 LoRA 使用不能使用旧的 VAE文件 SDXL 专用 VAE 文件:sdxl_vae.…...
(五)机器学习 - 数据分布
数据分布(Data Distribution)是指数据在不同值或值区间内的分布情况,它描述了数据点在整个数据集中是如何分散或集中的。数据分布可以通过多种方式来分析和表示,包括图形和数值方法。 常见的数据分布特征和描述数据分布的方法&…...
Flink State面试题和参考答案-(上)
什么是 Flink 中的状态(State)? Flink 中的状态是指在 Flink 流处理程序中,操作符或函数用于存储和访问数据的机制。状态可以看作是在事件流处理过程中,随着时间推移而累积或变更的数据集合。在 Flink 的有状态流处理…...
利用开源Stable Diffusion模型实现图像压缩比竞争方法用更低的比特率生成更逼真的图像
概述 论文地址:https://studios.disneyresearch.com/app/uploads/2024/09/Lossy-Image-Compression-with-Foundation-Diffusion-Models-Paper.pdf 迪士尼的研究部门正在提供一种新的图像压缩方法,利用开源Stable Diffusion V1.2 模型,以比竞…...
QT信号与槽机制详解
当信号发出后,被连接的槽函数会自动被回调,类似观察者模式,当发生了感兴趣的事件,某一个操作就会被自动触发。信号是由于用户对窗口或控件进行了某些操作,导致窗口或控件产生了某个特定事件,这时Qt对应的窗…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...
