pom.xml中配置的repository,在编译器下载依赖包没生效,怎么解决

针对 pom.xml 中配置的仓库(repository)未生效导致依赖下载失败的问题,结合搜索结果和 Maven 依赖解析机制,以下是分步解决方案:


一、问题原因分析

  1. 镜像覆盖全局请求
    settings.xml 中配置了镜像(mirror)且 mirrorOf 设置为 *,会强制所有仓库请求走镜像地址,导致 pom.xml 中定义的仓库被忽略。
  2. 本地缓存污染
    之前构建失败的依赖残留在本地仓库(~/.m2),导致 Maven 未重新尝试下载。
  3. 仓库 ID 不匹配
    pom.xml 中定义的仓库 ID 与镜像排除规则不匹配,或未正确声明 releases/snapshots 策略。
  4. 优先级冲突
    Maven 仓库的搜索顺序中,settings.xml 中的配置(如镜像、profile)优先级高于 pom.xml 中的仓库。

二、解决方案

1. 调整镜像配置,排除特定仓库

settings.xml 中修改镜像的 mirrorOf排除 pom.xml 中定义的仓库 ID,使其绕过镜像直接访问目标仓库:

<mirror><id>aliyun</id><url>https://maven.aliyun.com/repository/public</url><!-- 排除自定义仓库 --><mirrorOf>*,!your-repo-id,!cloudera-releases</mirrorOf>
</mirror>

关键点
!your-repo-id 需与 pom.xml<repository><id> 完全匹配。
• 多个仓库用逗号分隔,如 *,!repo1,!repo2

2. 清理本地缓存并强制更新

# 清理本地仓库中未完整下载的依赖
mvn dependency:purge-local-repository# 强制检查远程仓库更新
mvn clean install -U

作用:清除残留文件并绕过本地缓存。

3. 验证仓库配置有效性

确保 pom.xml 中仓库的 URL 可访问依赖版本存在

<repositories><repository><id>your-repo-id</id><url>https://example.com/maven-repo</url><!-- 明确启用 releases/snapshots --><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository>
</repositories>

注意:若仓库需要认证,需在 settings.xml<servers> 中配置账号密码。

4. 调整仓库优先级

settings.xml 中通过 <profiles> 显式定义仓库并激活,提高其优先级:

<profiles><profile><id>custom-repo</id><repositories><repository><id>your-repo-id</id><url>https://example.com/maven-repo</url></repository></repositories><activation><activeByDefault>true</activeByDefault></activation></profile>
</profiles>

效果settings.xml 中的仓库配置优先级高于 pom.xml

5. 手动安装依赖(终极方案)

若仓库不可用,可手动下载依赖并安装到本地仓库:

mvn install:install-file \-Dfile=example.jar \-DgroupId=com.example \-DartifactId=example \-Dversion=1.0.0 \-Dpackaging=jar

适用场景:私有依赖或镜像完全不可用。


三、验证与调试

  1. 查看生效配置
    执行以下命令检查最终生效的仓库和镜像规则:
    mvn help:effective-pom -Dverbose
    mvn help:effective-settings
    
  2. 检查依赖来源
    添加 -X 参数查看详细下载路径:
    mvn clean install -X
    
    观察日志中是否出现类似 Downloading from your-repo-id 的提示。

四、预防措施

  1. 避免镜像全局覆盖
    始终在 mirrorOf 中排除自定义仓库(如 *,!repo-id)。
  2. 定期同步私有仓库
    若使用 Nexus 等私服,确保其定时同步公共仓库(如 Maven Central)。
  3. 固定依赖版本
    pom.xml 中明确指定依赖版本号,避免因版本漂移导致解析失败。

通过上述步骤,可解决因镜像覆盖、缓存污染或配置错误导致的仓库失效问题。若仍无法解决,建议检查网络代理或防火墙设置,确保 Maven 能正常访问目标仓库 URL。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

S7-1200 G2移植旧版本S7-1200程序的具体方法示例

S7-1200 G2移植旧版本S7-1200程序的具体方法示例 前期概要: S7-1200 G2必须基于TIA博途V20,之前的程序可通过移植的方式在新硬件上使用。 该移植工具可自动将TIA Portal 项目从 S7-1200 移植到更新的S7-1200 G2。 注意: 该插件支持在同一TIA Portal项目实例内将软件和/或硬…

CNN SSP, ASPP, PPM 分割任务经典尺度聚合模块

SSP&#xff1a;Spatial Pyramid Pooling 让任意大小图像最终输出的特征维度始终固定&#xff0c;便于接全链接层。 4x4, 2x2,1x1区域的maxpooling&#xff0c;让任意大小图像最终输出最终特征维度始终为 &#xff08;1641)*256 ASSP:Atrous Spatial Pyramid Pooling 不进行…

OpenHarmony-XTS测试

OpenHarmony-XTS测试 OpenHarmony-XTS测试环境搭建测试准备开始运行PS OpenHarmony-XTS测试 针对OpenHarmony版本进行XTS测试使用记录。 windows环境。 以acts套件为例。 环境搭建 获取测试套件&#xff0c;两种方法 1&#xff09;官网下载&#xff1a;https://www.openharm…

文件系统 linux ─── 第19课

前面博客讲解的是内存级文件管理,接下来介绍磁盘级文件管理 文件系统分为两部分 内存级文件系统 : OS加载进程 ,进程打开文件, OS为文件创建struct file 和文件描述符表 ,将进程与打开的文件相连, struct file 内还函数有指针表, 屏蔽了底层操作的差异,struct file中还有内核级…

kali之netdiscover

kali之netdiscover Netdiscover 是 Kali Linux 中一款用于网络发现和主机扫描的工具。它通过主动发送 ARP 请求来识别局域网中的活动主机&#xff0c;并显示它们的 IP 地址、MAC 地址和网卡厂商信息。Netdiscover 特别适用于局域网内的主机发现和网络映射。 1. Netdiscover 的…

【软考-架构】5.2、传输介质-通信方式-IP地址-子网划分

✨资料&文章更新✨ GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目录 传输介质网线光纤无线信道 通信方式和交换方式会考&#xff1a;交换方式 &#x1f4af;考试真题第一题第二题 IP地址表示子网划分&#x1f4af;考试真题第一题第二题 传输…

G2o顶点与边编程总结

G2o的顶点与边属于 HyperGraph 抽象类的继承OptimizableGraph 的继承。 BaseVertex<D,T> D是预测点的维度&#xff08;在流形空间的最小表示&#xff09;T是待估计vertex的数据类型&#xff0c;比如用四元数表达三维旋转的话&#xff0c;T就是Quaternion 类型 // 顶点的…

【区块链】以太坊

学习视频源链接&#xff1a; https://www.bilibili.com/video/BV1Vt411X7JF/ 本文是根据肖老师的视频进行的笔记记录 bitcoin 1.0 区块链 以太坊 2.0区块链 以太坊 设置了 memory hard mining puzzle &#xff0c;这造成了asic resistance&#xff0c; 后续 proof of work &a…

凸优化算法学习笔记:决策单调性与 wqs二分

文章目录 前言决策单调性单调矩阵&#xff0c;完全单调矩阵&#xff0c;蒙日阵决策单调性优化 d p dp dp线性 d p dp dp分治&#xff08;离线&#xff09;二分队列&#xff08;在线&#xff09;SMAWK 区间 d p dp dp 练习题LOJ6039 w q s wqs wqs 二分&#xff08;蒙日阵最短…

Aop实现简单基于日志记录

目录 一、基础知识&#xff1a; 二、测试记录接口的参数和结果 一、基础知识&#xff1a; Before&#xff1a;用于执行目标方法之前的逻辑。After&#xff1a;用于执行目标方法之后的逻辑。AfterReturning&#xff1a;用于获取目标方法返回值后的逻辑。AfterThrowing&#x…

【Nacos】服务发布之优雅预热上线方案

目录 一、背景二、注册时机2.1、注册机制2.2、分析源码找到注册时机 三、注册前心跳健康检测3.1、方案实施3.2、源码分析3.3、优化代码 四、流量权重配置五、总结5.1、整体完整流程&#xff1a;5.2、流程图&#xff1a;5.1、优化方案完整代码&#xff1a; 一、背景 有些面向广…

接口自动化脚本优化的多个关键维度及具体方法总结

以下是优化接口自动化脚本的多个关键维度及具体方法&#xff0c;帮助提升测试效率、可维护性和可靠性&#xff1a; 1. 测试用例设计优化 维度优化方法参数化使用数据驱动&#xff08;如CSV、Excel、JSON&#xff09;&#xff0c;分离测试数据与逻辑&#xff0c;减少重复代码。…

AI驱动的数字供应链安全情报预警服务:云脉XSBOM

先发制人&#xff0c;精准预警数字供应链中的安全风险 Pre-emptive Strategy, Accurate Warning of Security Risks in Digital Supply Chain 云脉XSBOM数字供应链安全情报预警依托悬镜安全团队强大的供应链管理监测能力和AI安全大数据云端分析能力&#xff0c;对全球数字供应…

8051汇编--条件转移指令

在8051汇编语言中&#xff0c;控制转移指令用于改变程序的执行顺序&#xff0c;主要包括无条件转移、条件转移和调用/返回指令。以下是对这些指令的总结&#xff1a; 一、无条件转移指令 LJMP&#xff08;Long Jump&#xff09; • 功能&#xff1a;长转移&#xff0c;可以跳…

Kubernetes学习笔记-移除Nacos迁移至K8s

项目服务的配置管理和服务注册发现由原先的Nacos全面迁移到Kubernetes上。 一、移除Nacos 移除Nacos组件依赖。 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <…

算法系列之回溯算法求解数独及所有可能解

有没有对数独感兴趣的朋友呢&#xff1f;数独作为一款经典的逻辑游戏&#xff0c;其目标是在一个9x9的方格中填入数字1至9&#xff0c;确保每一行、每一列以及每一个3x3的子网格中都包含这些数字且不重复。尽管数独的规则看似简单&#xff0c;但编写一个能够自动求解数独的程序…

C++ primer plus 类和对象上

目录 前言 一 接口的设计 二 方法的设计和使用 三 构造函数 四 析构函数 五 析构函数和构造函数小结 总结 前言 前面已经描述了很多有关于类和对象的知识了&#xff0c;所以我们直接开始上手操作 一 接口的设计 首先我们要知道什么是接口 接口是一个共享框架&…

css模拟雷达扫描动画

<div class"radar-scan"><div class"radar-container" /></div> 样式&#xff1a; .radar-scan {background-image: linear-gradient(0deg,transparent 24%,rgba(32, 255, 77, 0.15) 25%,rgba(32, 255, 77, 0.15) 26%,transparent 27%,…

AdaLoRA 参数 配置:CAUSAL_LM“ 表示因果语言模型任务

AdaLoRA 参数 配置:CAUSAL_LM" 表示因果语言模型任务 config = AdaLoraConfig( init_r=16, # 增加 LoRA 矩阵的初始秩 lora_alpha=32, target_modules=[“q_proj”, “v_proj”], lora_dropout=0.1, bias=“none”, task_type=“CAUSAL_LM” ) 整体功能概述 AdaLoraCon…

C# 集合

集合 概述集合接口和类型列表(ArrayList, List)队列(Queue)栈(Statck)链表(LinkedList)有序表(SortedList)字典Lookup类其他字典类 HashSet(不重复项的无序列表)位数组BitArrayBitVector32 性能 概述 数组和Array类。数组的大小是固定的。如果元素个数是动态的&#xff0c;就应…