如何处理maven仓库中后缀LastUpdated⽂件
⼀、背景
  新做了⼀个的需求,需要在SpringBoot项⽬中引⼊了多个依赖,然后就感觉idea下载依赖包的时间很漫长,然后我就⽹上了解决办法——使⽤国内的阿⾥云镜像,后来呢,就出现了这个问题。删除该⽂件也未曾⽣效,依然会重新⽣成。
⼆、产⽣的原因
repository文件夹可以删除吗  原来每次在更新maven项⽬的时候,每⼀个jar包路径下的_positories⽂件都会同l中设置的仓库地址id 进⾏判断,如果没有匹配,会⾃动更新该jar包的相关⽂件,如果未联⽹则会出现jar⽆法发现的错误,导致即使jar存
在,maven项⽬也⽆法使⽤该jar的情况。如果使⽤公司的内⽹仓库,_positories⽂件变为_positories。Maven在下载仓库中不到相应资源时,会⽣成⼀个.lastUpdated为后缀的⽂件。如果这个.lastUpdated⽂件存在,那么即使换⼀个有资源的仓库后,Maven依然不会去下载新资源。
三、解决办法
项⽬统⼀使⽤⼀个远程仓库的地址,阿⾥云或者其他公⽹镜像。修改⽅法:maven安装包——>conf⽂件夹——&l⽂件——>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 搜索完
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。