目录
1.背景
使用过maven的人都应该知道,maven下载jar包时,有时由于网络问题,会造成文本未下载完毕,残留.lastUpdated文件,下次使用pom时,由于该jar包已被cached缓存,又无法更新;特别是残留的文件比较多时,一个个手动去删更是费时;
2.解决方案
使用dos批处理脚本去查找maven仓库下的所有.lastUpdated文件,并删除该文件所在的文件夹。删除完毕后,下次网络正常时下载jar包就没问题了。即使删错了几个文件夹(其中有个确认步骤,如果担心删除错了,可以查看lastUpdated.txt,这个文件中存储着所有.lastUpdated相关的文件路径,后续根据这个进行删除),也不会有关系,maven会重新下载。
3.脚本文件
在windows下新建一个.bat文件,内容如下,保存后使用管理员权限运行。
@echo off
@rem 切换到要删除的路径下
set /p input=请输入maven仓库路径:
set mavenDir=%input%
%mavenDir:~0,1%:
cd %mavenDir%
echo 在%mavenDir%路径下已查找到所有以.lastUpdated结尾的文件
dir /s/b .\*.lastUpdated>lastUpdated.txt
echo 查找到的文件信息:%mavenDir%\lastUpdated.txt
echo 请查看lastUpdated.txt,确认是否删除.lastUpdated文件所有目录,按任意键确认删除.
pause>null
@rem 遍历lastUpdated.txt文件,删除文件所在目录
for /f "delims=" %%i in (lastUpdated.txt) do (
echo 文件记录:%%i
rd /s /q %%~dpi
echo 删除目录:%%~dpi
)
echo 成功删除所有.lastUpdated文件所在文件夹!
del lastUpdated.txt
echo 已清除临时文件%mavenDir%\lastUpdated.txt
pause>null
del null
4.运行效果
lastUpdated.txt位于maven仓库根目录下(命令行中会显示全路径名称),内容大概为:
5.脚本文件下载
经过测试的脚本文件,请参考清理maven仓库脚本_maven清理脚本,maven清理脚本-其它文档类资源-CSDN下载。