Maven本地仓库有jar包却提示找不到 / 生成.lastUpdated文件

2023-11-17

Maven本地仓库有jar包却提示找不到 / 生成.lastUpdated文件(Maven仓库_remote.repositories文件的作用)

存在的问题

使用Maven管理项目时,如果连不到远程仓库,但是明明本地仓库中有对应的jar包,此时还是报找不到对应的包(Could not resolve dependencies for project)
原因是maven3.x版本在从远程仓库下载资源后,会在本地仓库的目录下生成对应的_remote.repositories文件,标示该资源的来源,如果你有这个文件_remote.repositories,那就不能直接访问本地仓库的jar包了,必须远程仓库上有才行,否则就会报错。

解决方法是将本地仓库对应依赖目录下的_remote.repositories文件删除,亲测有效

_remote.repositories文件的作用:
Maven修改setting文件后本地有jar或pom, 还是会去远程仓库获取
本来的作用是为了保证你修改仓库配置后, 从原来的远程仓库获取的依赖还能从原来的仓库获取
但却导致了很多人从别人那边拷贝的本地仓库, 在连不上远程仓库的情况下不能正常使用
此时可以通过删除仓库中的_remote.repositories文件, 解决由于更换仓库带来的jar包不兼容问题

_remote.repositories文件说明

#Thu Jan 24 11:42:29 CST 2019
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Wed Mar 09 17:47:48 CST 2022
fastjson-1.2.70.pom>newclaim-main=
fastjson-1.2.70.pom>nexus-aliyun=
fastjson-1.2.70.jar>newclaim-main=
fastjson-1.2.70-sources.jar>newclaim-main=
fastjson-1.2.70.jar>nexus-aliyun=

#这里的nexus-aliyun表示setting.xml中配置的私服id

其中
这个文件存储的是每次从私服或者中央仓库下载的jar包的信息。
该依赖既有jar, 也有pom
第4行:表示该pom第一次从newclaim-main(私服id)来的, 将其写入到_remote.repositories
第5行:表示没有从私服, 而是从远程仓库nexus-aliyun(阿里云镜像), 拉取pom, 同样写入_remote.repositories
第6/8行:分别从两个仓库拉取jar包的记录
第7行: 从私服拉取source源码的记录

只有存在该资源的镜像或私服才会将私服或镜像的id写入到_remote.repositories

假设我们更换了私服地址为nexus-abc,并且该私服不存在该资源,那么就会生成fastjson-1.2.70.jar.lastUpdatedfastjson-1.2.70.pom .lastUpdated文件, 代表获取maven依赖失败, 项无法成功构建;
也就是说: _remote.repositories文件,标示该资源的来源,如果在这个_remote.repositories文件存在的情况下,那在访问本地依赖的同时,还必须确保远程仓库上有对应的文件(这里的远程是setting文件中配置的镜像或远程仓库, 用<id>来进行关联,否则就会报错;

常见的Maven报错信息:

Could not resolve dependencies for project com-hallo-mybatis:generator:jar:1.0-SNAPSHOT: 
The following artifacts could not be resolved: com.tencent.tsf:spring-cloud-tsf-dependencies:pom:1.1.1-
RELEASE, com.tencent.tsf:spring-cloud-tsf-sleuth:jar:1.1.1-RELEASE, com.tencent.tsf:spring-cloud-tsf-
auth:jar:1.1.1-RELEASE: Failure to find com.tencent.tsf:spring-cloud-tsf-dependencies:pom:1.1.1-RELEASE in 
<span style="color:#ab4642">http://***:8081/repository/public/ was cached in the local repository, resolution 
will not be reattempted until the update interval of public has elapsed or updates are forced</span>

批处理脚本

顺便我写了一个一键清理.lastUpdated文件和_remote.repositories文件的批处理脚本
可以从下面的链接下载
https://download.csdn.net/download/q863672107/85252684

参考

https://blog.csdn.net/zzb5682119/article/details/89217780
https://blog.csdn.net/lovepeacee/article/details/103094247

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

Maven本地仓库有jar包却提示找不到 / 生成.lastUpdated文件 的相关文章

随机推荐

  • GWO灰狼优化算法以及Matlab代码

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 GWO灰狼算法原理 进化更新 位置更新 紧随3只头狼 GWO灰狼算法流程图 GWO优化算法matlab代码 main函数 适应度函数 GWO主体代码 测试结果F1
  • 【Java小疑问】类和方法 前面添加public和不添加public的区别

    讨论前提 包的存在 Java 中修饰类修饰符 public default 默认 1 public 该类可在同一或不同包下访问 父包 子包皆可访问 2 default 该类仅可在同一个包下可访问 父包 子包皆无法访问 注意 在 Java 中
  • Linux下 (Ubuntu16.04 ) Tesseract4.0训练字库,提高正确识别率Linux下(合并字库)

    由于tesseract的中文语言包 chi sim 对中文手写字体或者环境比较复杂的图片 识别正确率不高 因此需要针对特定情况用自己的样本进行训练 提高识别率 通过训练 也可以形成自己的语言库 Linux和windows的系统方法一样 就是
  • 前端vue对接后端导出excel文件的原理和教程

    前言 前面我们讲过了前端怎么读取excel文件里面的内容数据问题 这边讲解前端怎么对接后端接口并导出excel文件 功能简单易实现 1 导出excel文件的原理 后端通过接口把文件流的数据返回给前端 前端再模拟一个下载的动作 进行文件数据的
  • 阿里云域名注册流程(全流程详细教程)

    阿里云域名注册流程很简单 先注册阿里云账号 账号必须通过实名认证 然后创建信息模版 个人或企业信息模板必须通过实名认证 然后想好域名名称和域名后缀 最后在阿里云域名注册官网进行新域名的注册 阿里云百科来详细说下阿里云域名注册流程 域名注册官
  • java 遍历String[]的常用两种方法

    初学java 在此记录 public static void main String args String str new String 3 for int i 0 i lt str length i str i i i 方法一 for循
  • Python3之爬虫----retrying模块的使用和处理cookie相关的请求

    1 1 设使用超时参数 requests get url headers headers timeout 3 设置超时参数 若url在三秒内未得到响应 报错 1 2 retrying模块的使用 第三方模块 from retrying imp
  • Tank大战游戏模拟(java版)

    Java小项目 坦克大战 1 任务分析 玩家进入游戏 通过操纵坦克来守卫基地 摧毁全部敌方坦克来取得胜利 如果基地被摧毁 或者玩家坦克被摧毁 则判定游戏失败 2 具体分析 图形用户界面使用GUI技术实现 游戏中坦克的方向转动可以通过四种不同
  • node.js 详解

    目录 一 初始node js 1 为什么 JavaScript 可以在浏览器中被执行 2 node js 简介 3 node js 查看是否安装 4 运行文件 1 在终端中输入 node 文件 2 终端中的快捷键 二 fs 文件系统模块 1
  • Python爬虫学习笔记(十)————Scrapy

    目录 1 scrapy是什么 2 安装scrapy 3 scrapy项目的创建以及运行 1 创建scrapy项目 2 项目组成 3 创建爬虫文件 跳转到spiders文件夹中去创建爬虫文件 scrapy genspider爬虫文件的名字 网
  • SSL证书的作用,可以帮助网站达到什么样的效果

    近年来 企业建站非常普遍 出现了各类网站 随着互联网的发展 网络安全威胁事件也频繁发生 网站入侵 钓鱼网站等这些问题 不仅容易影响了企业的声誉 也会造成了用户的损失 那么如何保护网站数据的安全 让用户甄别出真假网站 我们可以使用SSL证书来
  • Blender建模汇总

    好消息是UE4官方正在完善UE4和Blender之间的工作流 在此之前还是建议扎实打好基础 建模方法基本上是之前总结的 利用插件或利用面片的方式 区别在于资源管理 不再滥用表面细分修改器 1 光剑 未应用修改器 可用于游戏模型 应用修改器后
  • 模块 ““element-plus““ 没有导出的成员 xxx。你是想改用 “import xxx from “element-plus““ 吗?

    项目场景 项目 vue3 ts element plus 很多时候导入element plus中某个api时 总是提示 模块 element plus 没有导出的成员 xxx 你是想改用 import xxx from element pl
  • 头歌:图像识别案例在线实验闯关

    第2关 基于全像素特征的手写体图像识别模型 任务描述 对图像像素数据集和图像标签数据集 按80 训练和20 测试进行随机划分 构建支持向量机分类模型 输出模型的准确率和测试集的预测准确率 编程要求 根据提示 在右侧编辑器补充代码 按照任务要
  • 解决Python中的PermissionError: Permission denied问题

    解决Python中的PermissionError Permission denied问题 在Python编程中 我们时常会遇到PermissionError Permission denied异常错误 这个错误通常出现在我们尝试访问或修改
  • Electron应用图标的配置与生成

    技术选型 1 electron 21 3 3 2 electron vite 1 0 17 3 vue 3 2 45 4 element plus 2 2 32 背景 默认情况下我们使用electron开发的应用使用的图标有四种类型 软件的
  • 【Python】基础内容

    简介 面向对象 解释型的编程语言 使用缩进作为逻辑层次 运行效率较低 单行注释 以 开头 注释内容 多行注释 以一对三个双引号引起来的内容 注释内容 数据类型 type 被查看类型的数据 查看数据类型 数字 Number 整数 int Py
  • java集合UML类图 总览

    Java集合框架主要包括两种类型的容器 一种是集合 Collection 存储一个元素集合 Collection 接口又有 3 种子类型 List Set 和 Queue 另一种是图 Map 存储键 值对映射 Map 接口又有 Abstra
  • unity开发android游戏(一)搭建Unity安卓开发环境

    1 下载安装Java的JDK http www oracle com technetwork java javase downloads index html JDK中 包含JRE 如果是64位的系统 推荐安装64位的java 2 下载An
  • Maven本地仓库有jar包却提示找不到 / 生成.lastUpdated文件

    Maven本地仓库有jar包却提示找不到 生成 lastUpdated文件 Maven仓库 remote repositories文件的作用 存在的问题 使用Maven管理项目时 如果连不到远程仓库 但是明明本地仓库中有对应的jar包 此时