您好,登錄后才能下訂單哦!
一、背景
新做了一個的需求,需要在SpringBoot項目中引入了多個依賴,然后就感覺idea下載依賴包的時間很漫長,然后我就網上找了解決辦法——使用國內的阿里云鏡像,后來呢,就出現(xiàn)了這個問題。刪除該文件也未曾生效,依然會重新生成。
二、產生的原因
原來每次在更新maven項目的時候,每一個jar包路徑下的_remote.repositories文件都會同setting.xml中設置的倉庫地址id進行判斷,如果沒有匹配,會自動更新該jar包的相關文件,如果未聯(lián)網則會出現(xiàn)jar無法發(fā)現(xiàn)的錯誤,導致即使jar存在,maven項目也無法使用該jar的情況。如果使用公司的內網倉庫,_remote.repositories文件變?yōu)開maven.repositories。Maven在下載倉庫中找不到相應資源時,會生成一個.lastUpdated為后綴的文件。如果這個.lastUpdated文件存在,那么即使換一個有資源的倉庫后,Maven依然不會去下載新資源。
三、解決辦法
項目統(tǒng)一使用一個遠程倉庫的地址,阿里云或者其他公網鏡像。修改方法:maven安裝包——>conf文件夾——>setting.xml文件——>mirror節(jié)點
1、辦法一:把本地倉庫里的依賴包全清空,然后讓項目重新下載所有依賴——一次性解決,可靠;
2、辦法二:找到報錯的依賴包的位置,刪除LastUpdated后綴的文件,讓idea單獨下載——如果有多個報錯的依賴包,需要操作多次;
3、辦法三:使用腳本,一次性清除所有的LastUpdated后綴的文件?!?/p>
# 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 搜索完
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。