<强>一、背景强>
新做了一个的需求,需要在SpringBoot项目中引入了多个依赖,然后就感觉理念下载依赖包的时间很漫长,然后我就网上找了解决办法——使用国内的阿里云镜像,后来呢,就出现了这个问题。删除该文件也未曾生效,依然会重新生成。
<强>二,产生的原因强>
原来每次在更新maven项目的时候,每一个jar包路径下的_remote.repositories文件都会同setting.xml中设置的仓库地址id进行判断,如果没有匹配,会自动更新该jar包的相关文件,如果未联网则会出现jar无法发现的错误,导致即使罐存在,maven项目也无法使用该jar的情况。如果使用公司的内网仓库,_remote.repositories文件变为_maven.repositories.Maven在下载仓库中找不到相应资源时,会生成一个.lastUpdated为后缀的文件。如果这个.lastUpdated文件存在,那么即使换一个有资源的仓库后,maven依然不会去下载新资源。
<强>三,解决办法强>
项目统一使用一个远程仓库的地址,阿里云或者其他公网镜像。修改方法:maven安装包,在配置文件夹,祝辞setting.xml文件——在镜子节点
1,办法一:把本地仓库里的依赖包全清空,然后让项目重新下载所有依赖——一次性解决,可靠,
2、办法二:找到报错的依赖包的位置,删除lastupdate后缀的文件,让想法单独下载——如果有多个报错的依赖包,需要操作多次;
3、办法三:使用脚本,一次性清除所有的lastupdate后缀的文件。
# windows脚本 @echo掉 rem NettQun创建的 快速眼动这里写你的仓库路径 设置REPOSITORY_PATH=D: \ Java \ maven存储库\ maven-aliyun \库 rem正在搜索……/f”delims=" % % i (dir/b/年代“% REPOSITORY_PATH % \ * lastupdate *”) ( 回声% %我 德尔/s/q " % %我” ) rem搜索完毕 暂停
# linux脚本 #这里写你的仓库路径 REPOSITORY_PATH=~/文件/工具/库 回声正在搜索…… 找到REPOSITORY_PATH美元- name“* lastupdate *”| xargs rm - fr 回声搜索完
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。