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.rhkb.cn/news/34637.html

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

相关文章

python_巨潮年报pdf下载

目录 前置&#xff1a; 步骤&#xff1a; step one: pip安装必要包&#xff0c;获取年报url列表 step two: 将查看url列表转换为pdf url step three: 多进程下载pdf 前置&#xff1a; 1 了解一些股票的基本面需要看历年年报&#xff0c;在巨潮一个个下载比较费时间&…

量化交易backtrader实践(五)_策略综合篇(3)_经典策略复盘

01_经典策略复盘 在某款股票软件手机版App上&#xff0c;有一项“复盘”的功能&#xff0c;这个功能很强大&#xff0c;它能把这支股票近1年的走势&#xff0c;用设置好的六个策略去回测&#xff0c;得到每个策略的近一年的收益率&#xff0c;并做了从最好到最差的排序。这就能…

蓝桥与力扣刷题(蓝桥 字符统计)

题目&#xff1a;给定一个只包含大写字母的字符出 S, 请你输出其中出现次数最多的字符。如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。 输入格式 一个只包含大写字母的字等串 S. 输出格式 若干个大写字母&#xff0c;代表答案。 样例输入 BABBACAC样…

protobuf安装

安装 github官方链接 https://github.com/protocolbuffers/protobuf/ 以protobuf21为例 https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip windows 解压好文件夹后,使用cmake,vs,qt creator等工具打开该项目,进行编译,编译需…

Compose 实践与探索八 —— LayoutModifier 解析

前面几节讲的 Modifier 都是起辅助作用的&#xff0c;比如 Modifier 的伴生对象、CombinedModifier、 ComposedModifier 以及几乎所有 Modifier 的父接口 Modifier.Element。本篇我们开始讲具有直接功效的 Modifier&#xff0c;分为几个大类&#xff1a;LayoutModifier、DrawMo…

stl之string的详解

一&#xff0c;string定义的方式 &#xff0c;string定义了多种函数重载的方式&#xff0c;常用的构造函数如下&#xff1a; string(); string(const string& str); string(const string& str, size_t pos, size_t len npos); string(const char* s); string(const …

Leetcode-131.Palindrome Partitioning [C++][Java]

目录 一、题目描述 二、解题思路 【C】 【Java】 Leetcode-131.Palindrome Partitioninghttps://leetcode.com/problems/palindrome-partitioning/description/131. 分割回文串 - 力扣&#xff08;LeetCode&#xff09;131. 分割回文串 - 给你一个字符串 s&#xff0c;请你…

InternVL:论文阅读 -- 多模态大模型(视觉语言模型)

更多内容&#xff1a;XiaoJ的知识星球 文章目录 InternVL: 扩展视觉基础模型与通用视觉语言任务对齐1.概述2.InternVL整体架构1&#xff09;大型视觉编码器&#xff1a;InternViT-6B2&#xff09;语言中间件&#xff1a;QLLaMA。3&#xff09;训练策略&#xff08;1&#xff09…

【AWS入门】AWS云计算简介

【AWS入门】AWS云计算简介 A Brief Introduction to AWS Cloud Computing By JacksonML 什么是云计算&#xff1f;云计算能干什么&#xff1f;我们如何利用云计算&#xff1f;云计算如何实现&#xff1f; 带着一系列问题&#xff0c;我将做一个普通布道者&#xff0c;引领广…

二分算法刷题

1. 初识 总结&#xff1a;二分算法题的细节非常多&#xff0c;容易写出死循环。使用算法的条件不一定是数组有序&#xff0c;而是具有“二断性”&#xff1b;模板三种后面会讲。 朴素二分二分查找左端点二分查找右端点 2. 朴素二分 题目链接&#xff1a;704. 二分查找 - 力扣…

itsdangerous加解密源码分析|BUG汇总

这是我这两天的思考 早知道密码学的课就不旷那么多了 纯个人见解 如需转载&#xff0c;标记出处 目录 一、官网介绍 二、事例代码 源码分析&#xff1a; 加密函数dump源码使用的函数如下&#xff1a; 解密 ​编辑 ​编辑 关于签名&#xff1a; 为什么这个数字签名没有…

深度解析React Native底层核心架构

React Native 工作原理深度解析 一、核心架构&#xff1a;三层异构协作体系 React Native 的跨平台能力源于其独特的 JS层-Shadow层-Native层 架构设计&#xff0c;三者在不同线程中协同工作&#xff1a; JS层 运行于JavaScriptCore&#xff08;iOS&#xff09;或Hermes&…

前端内存优化实战指南:从内存泄漏到性能巅峰

前端内存优化实战指南&#xff1a;从内存泄漏到性能巅峰 一、内存问题引发的场景 1.1 典型内存灾难现场 // 经典内存泄漏示例 const zombieElements new Set();function createLeak() {const div document.createElement(div);zombieElements.add(div); // 元素永不释放div…

【工作记录】pytest使用总结

1、 fixture夹具 可参考&#xff1a; python3.x中 pytest之fixture - 漂泊的小虎 - 博客园 fixture是指夹具&#xff08;把用例夹在中间&#xff09;&#xff0c;它包括前置工作和后置工作&#xff0c;前置是用例代码的准备阶段&#xff0c;后置是用例执行之后的清理阶段,用…

C++基础笔记

1. C关键字 这个不多说&#xff0c;以后接触得到&#xff0c;但这里做个总结&#xff1a; 2. 命名空间 一般类型&#xff1a; namespace Xianyu {// 命名空间中可以定义变量/函数/类型int rand 10;int Add(int left, int right){return left right;}struct Node{struct No…

生活中的可靠性小案例12:类肤材质老化发粘问题

我一直觉得我买的某品牌车载吸尘器很好用&#xff0c;用了几年&#xff0c;目前性能也是杠杠的。然而它现在有个最大的问题&#xff0c;就是表面发粘了&#xff0c;用起来粘手&#xff0c;非常不舒服。 这一类问题在生活中不少见&#xff0c;尤其是一些用了类肤材质涂层的物件。…

黑马node.js教程(nodejs教程)——AJAX-Day01-04.案例_地区查询——查询某个省某个城市所有地区(代码示例)

文章目录 代码示例效果 代码示例 axiosTest.html <!DOCTYPE html> <!-- 文档类型声明&#xff0c;告诉浏览器这是一个HTML5文档 --> <html lang"en"> <!-- HTML根元素&#xff0c;设置文档语言为英语 --><head> <!-- 头部区域&am…

Ollama+OpenWebUI本地部署大模型

OllamaOpenWebUI本地部署大模型 前言Ollama使用Ollama安装Ollama修改配置Ollama 拉取远程大模型Ollama 构建本地大模型Ollama 运行本地模型&#xff1a;命令行交互Api调用Web 端调用 总结 前言 Ollama是一个开源项目&#xff0c;用于在本地计算机上运行大型语言模型&#xff0…

【NeurIPS 2024】LLM-ESR:用大语言模型破解序列推荐的长尾难题

标题期刊年份关键词LLM-ESR: Large Language Models Enhancement for Long-tailed Sequential RecommendationNeurIPS2024Large Language Models, Sequential Recommendation, Long-tailed &#x1f4da;研究背景 在电商和社交媒体的世界里&#xff0c;序列推荐系统&#xff…

C语言_数据结构总结9:树的基础知识介绍

1. 树的基本术语 - 祖先&#xff1a;考虑结点K&#xff0c;从根A到结点K的唯一路径上的所有其它结点&#xff0c;称为结点K的祖先。 - 子孙&#xff1a;结点B是结点K的祖先&#xff0c;结点K是B的子孙。结点B的子孙包括&#xff1a;E,F,K,L。 - 双亲&#xff1a;路径上…