1. 问题分析
本文提供了java项目导入的时候Maven依赖爆红问题的一种解决方案。在拉取项目依赖的时候,由于网络问题,maven依赖没有下载完的时候,会在下载目录中生成.lastupdated文件。其它项目需要引用这个依赖包的时候,看到.lastupdated文件,会默认其他线程在下载该依赖,当前线程就不会再下载了。如果网络中断了,下载请求结束,但是由于.lastupdated文件依然存在,导致了该依赖永远都下载不下来。
2. 解决思路
编写脚本,清除maven仓库中所有的.lastupdated文件,运行完脚本后,重新刷新maven就可以正常下载了。脚本代码如下:
新建文件,清除maven.bat,将REPOSITORY_PATH修改成你自己的maven仓库路径
@echo off
set REPOSITORY_PATH=D:\JavaResource\repo
rem 正在搜索...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
del /s /q %%i
)
rem 搜索完毕
pause