_remote.repositories作用

问题描述

明明我本地有某个依赖但是却还是报错,原因就是存在_remote.repositories且你的远程仓库中找不到该依赖,可能发生在你修改了远程仓库或镜像时。

例子

本地有这个依赖,但是报错。
在这里插入图片描述
在这里插入图片描述

解决

删除_remote.repositories文件,如果有.lastUpdated文件(点击查看lastUpdated文件作用),最好也删除。
在这里插入图片描述

原因

_maven.repositories是用于记录该依赖从哪个远程存储库,如果你有这个_remote.repositories,那就会在访问本地的同时,必须确保远程上有才行,否则就会报错。
在这里插入图片描述
这个文件的内容表示junit-bom-5.3.2.pom文件第一次是从central中央仓库下载的,后面切换了远程仓库或镜像,又从aliyunmaven下载的,maven在使用时会去看远程仓库是否有这个依赖,aliyunmaven是mirror或repository的id。
在这里插入图片描述

为什么这样做?

官方解释:
在这里插入图片描述
在maven 3.0.x以前是不会这样做,不会产生_remote.repositories文件的,以上可以看出主要为了保证依赖一致的从而保证成功构建,如你从中央仓库下载了commons-io:commons-io:2.0依赖,后来你在本地清除了该依赖,你将远程仓库设置为了java.net2远程仓库,但是你会发现构建失败了,原因是因为java.net2仓库中的commons-io:commons-io:2.0和中央仓库的commons-io:commons-io:2.0完全不是一个东西,所以这个文件就是防止依赖的不一致。
至于这个怎么对比两个依赖是否是一个我没找到资料,我猜测是对比文件sha1校验文件,如果是一致的校验文件也应该是一样的,有时我们能在本地看到这个sha1文件。
在这里插入图片描述

参考

maven依赖下载失败原因分析;_remote.repositories简述
_remote.repositories文件的作用/Maven修改setting文件后本地仓库缓存了jar或pom但还是去远程仓库获取
maven can’t find my local artifacts
使用Maven管理项目时,明明本地仓库有对应的jar包,但还是报找不到

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven 是一款使用广泛的项目构建工具,它通过提供一组简单易用的命令和配置方式,帮助开发者管理项目依赖、编译、打包等工作。其中,_remote.repositories 是一种特殊的文件,用于记录 Maven 项目的远程仓库信息。 _maven.repositories 文件和 _remote.repositories 文件都是以 "_" 开头的,用于指示 Maven 一些特殊操作时需要使用的文件。其中,_remote.repositories 是用于记录项目依赖的远程仓库信息的文件。每当我们在 Maven 项目中引入一个依赖时,Maven 会自动从远程仓库下载该依赖的 jar 包,并在 _remote.repositories 文件中记录这个依赖的远程仓库地址。 清除 _remote.repositories 文件可以通过以下步骤来完成: 1. 打开命令行终端,进入 Maven 项目的根目录。 2. 使用以下命令清除 _remote.repositories 文件: ``` mvn dependency:purge-local-repository ```` 这个命令会将所有本地的 Maven 仓库中已经下载的依赖文件删除,包括 _remote.repositories 文件。 3. 重新构建项目,使用以下命令清除 _remote.repositories 文件: ``` mvn clean install ``` 这个命令会执行项目清理操作,并重新生成可执行的项目文件,同时也会重新下载依赖并生成新的 _remote.repositories 文件。 总结来说,当我们需要清除 Maven 项目中的 _remote.repositories 文件时,可以使用 Maven 提供的命令 `dependency:purge-local-repository` 函数来删除本地 Maven 仓库中的所有依赖文件,并重新构建项目来生成新的 _remote.repositories 文件。这样就可以确保 _remote.repositories 文件中记录的是最新的远程仓库地址。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值