maven倉庫中產生后綴LastUpdated文件


一、背景

  新做了一個的需求,需要在SpringBoot項目中引入了多個依賴,然后就感覺idea下載依賴包的時間很漫長,然后我就網上找了解決辦法——使用國內的阿里雲鏡像,后來呢,就出現了這個問題。刪除該文件也未曾生效,依然會重新生成。

二、產生的原因

  原來每次在更新maven項目的時候,每一個jar包路徑下的_remote.repositories文件都會同setting.xml中設置的倉庫地址id進行判斷,如果沒有匹配,會自動更新該jar包的相關文件,如果未聯網則會出現jar無法發現的錯誤,導致即使jar存在,maven項目也無法使用該jar的情況。如果使用公司的內網倉庫,_remote.repositories文件變為_maven.repositories。Maven在下載倉庫中找不到相應資源時,會生成一個.lastUpdated為后綴的文件。如果這個.lastUpdated文件存在,那么即使換一個有資源的倉庫后,Maven依然不會去下載新資源。

三、解決辦法

項目統一使用一個遠程倉庫的地址,阿里雲或者其他公網鏡像。修改方法:maven安裝包——>conf文件夾——>setting.xml文件——>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 搜索完

 

 

參考自:https://blog.csdn.net/li19236/article/details/97157324

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM