Maven在下载 jar 包的过程中,文件会以lastUpdated作为临时扩展名。文件下载完成后,Maven会将“lastUpdated”扩展名去掉。
如果下载一半连不上网,导致下载失败,那么Maven就放任文件保持临时扩展名“lastUpdated”不管。
当我们下一次强制要求Maven重新下载jar包时候,Maven看到这个文件以“lastUpdated”结尾,那么Maven就会无视“下载”命令。
所以对于以“lastUpdated”为扩展名的文件需要手动删除,然后再让Maven重新下载。
基本做法:删除以“lastUpdated”结尾的文件,重新下载。
问题:Maven仓库使用一段时间后,以“lastUpdated”结尾的文件会非常多,手动删除不现实。
借助clearLastUpdated.bat脚本文件批量处理。
clearLastUpdated.bat脚本内容如下:
cls
@ECHO OFF
SET CLEAR_PATH=E:
SET CLEAR_DIR=E:\maven\apache-maven-3.6.0\repository
color 0a
TITLE ClearLastUpdated For Windows
GOTO MENU
:MENU
CLS
ECHO.
ECHO. * * * * ClearLastUpdated For Windows * * * *
ECHO. * *
ECHO. * 1 清理*.lastUpdated *
ECHO. * *
ECHO. * 2 查看*.lastUpdated *
ECHO. * *
ECHO. * 3 退 出 *
ECHO. * *
ECHO. * * * * * * * * * * * * * * * * * * * * * * * *
ECHO.
ECHO.请输入选择项目的序号:
set /p ID=
IF "%id%"=="1" GOTO cmd1
IF "%id%"=="2" GOTO cmd2
IF "%id%"=="3" EXIT
PAUSE
:cmd1
ECHO. 开始清理
%CLEAR_PATH%
cd %CLEAR_DIR%
for /r %%i in (*.lastUpdated) do del %%i
ECHO.OK
PAUSE
GOTO MENU
:cmd2
ECHO. 查看*.lastUpdated文件
%CLEAR_PATH%
cd %CLEAR_DIR%
for /r %%i in (*.lastUpdated) do echo %%i
ECHO.OK
PAUSE
GOTO MENU
需要修改
SET CLEAR_PATH=E:
SET CLEAR_DIR=E:\maven\apache-maven-3.6.0\repository
CLEAR_PATH 设置为 Maven 仓库所在盘符
CLEAR_DIR 设置为 Maven 仓库的根目录,一定要使用非中文没有空格的目录。
之后执行此 bat 脚本即可。