如何处理maven仓库中后缀LastUpdated文件

一、背景

创新互联建站长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为十堰企业提供专业的网站设计、成都网站制作十堰网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

新做了一个的需求,需要在SpringBoot项目中引入了多个依赖,然后就感觉idea下载依赖包的时间很漫长,然后我就网上找了解决办法——使用国内的阿里云镜像,后来呢,就出现了这个问题。删除该文件也未曾生效,依然会重新生成。

二、产生的原因

原来每次在更新maven项目的时候,每一个jar包路径下的_remote.repositories文件都会同setting.xml中设置的仓库地址id进行判断,如果没有匹配,会自动更新该jar包的相关文件,如果未联网则会出现jar无法发现的错误,导致即使jar存在,maven项目也无法使用该jar的情况。如果使用公司的内网仓库,_remote.repositories文件变为_maven.repositories。Maven在下载仓库中找不到相应资源时,会生成一个.lastUpdated为后缀的文件。如果这个.lastUpdated文件存在,那么即使换一个有资源的仓库后,Maven依然不会去下载新资源。

三、解决办法

项目统一使用一个远程仓库的地址,阿里云或者其他公网镜像。修改方法:maven安装包——>conf文件夹——>setting.xml文件——>mirror节点

1、办法一:把本地仓库里的依赖包全清空,然后让项目重新下载所有依赖——一次性解决,可靠;
  2、办法二:找到报错的依赖包的位置,删除LastUpdated后缀的文件,让idea单独下载——如果有多个报错的依赖包,需要操作多次;
  3、办法三:使用脚本,一次性清除所有的LastUpdated后缀的文件。 

# windows脚本
@echo off
rem create by NettQun
 
rem 这里写你的仓库路径
set REPOSITORY_PATH=D:\Java\maven-repository\maven-aliyun\repository
rem 正在搜索...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
  echo %%i
  del /s /q "%%i"
)
rem 搜索完毕
pause
# linux脚本
 
# 这里写你的仓库路径
REPOSITORY_PATH=~/Documents/tools/repository
echo 正在搜索...
find $REPOSITORY_PATH -name "*lastUpdated*" | xargs rm -fr
echo 搜索完

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。

文章名称:如何处理maven仓库中后缀LastUpdated文件
转载源于:https://www.cdcxhl.com/article32/iecppc.html

成都网站建设公司_创新互联,为您提供软件开发虚拟主机云服务器网站设计静态网站搜索引擎优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发