话不多说,直接开干!
结论:_remote.repositories的作用是当maven本地仓库缓存了jar/pom的情况下修改了maven的配置文件(settings.xml)后依然会去远程仓库获取。
所以我们要做的就是:
删掉对应仓库坐标中的_remote.repositories文件即可!!!
------------------------------------------------------惊喜---------------------------------------------------------------------
set REPOSITORY_PATH=D:\JavaStudy\soft\MavenData\RepositoryData\repository
rem searching...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*_remote.repositories*"') do (
del /s /q %%i
)
rem finished
pause
附赠清楚_remote.repositories文件的脚本
方法:
拷贝以上代码块,修改本地仓库地址后,存在txt文本文档里面,然后修改文档后缀为.bat
如此,双击该脚本文件即可删除仓库中所有_remote.repositories文件
------------------------------------------------------心路历程--------------------------------------------------------------
1、首先我以为是.lastUpdated文件影响了maven的依赖识别
于是第一步我执行了
cleanLastUpdated.bat
清理.lastUpdated文件的脚本
2、发现还是存在一样的问题,idea中maven依然识别不了我本地仓库的依赖,还是从远程仓库去下载对应依赖,然而我需要下载的依赖在对应的远程仓库是已经没有这个依赖了,因此每次重新下载都会生成 .lastUpdated文件。
3、这样就形成了一个死循环。因此我在此处要做的就是让maven不去远程仓库下载,而是识别我已经拷贝好放到本地仓库的依赖文件。
4、经过查阅资料,才明白:
是仓库中 _remote.repositories 的这样一个文件导致maven不会识别本地仓库已经存在的依赖。
结论:_remote.repositories的作用是当maven本地仓库缓存了jar/pom的情况下修改了maven的配置文件(settings.xml)后依然会去远程仓库获取。
所以我们要做的就是:
删掉对应仓库坐标中的_remote.repositories文件即可!!!