錯誤截圖:
倉庫明明有jar包:
搞了一天,各種update project 和maven install還是不行,最后百度解決問題,之前用的是eclipse 版本 2018-12 版本,最近項目需要,換筆記本用mars2火星eclipse,方案如下:(紅色文字,最終解決了問題)
maven報錯,提示Missing artifact...jar文件 ,其實這些jar包在本地.m2/repository是有的。
maven中的本地倉庫的index索引沒有更新導致,項目使用maven管理jar包,很容易因為各種原因(網速慢、斷網)導致jar包下載不下來,出現很多.lastUpdated文件。
解決方案:
首先嘗試
工程右鍵--Maven--Update Project ,一定要選擇離線狀態一定要選擇Offline
如果不行,按下面步驟:
1 ,刪除.lastUpdated文件
開始--運行--cmd ,通過命令行進入D:\.m2\repository
粘貼:for /r %i in (*.lastUpdated) do del %i
回車,刪除所有的
如果解決不了,可刪掉所有_maven.repositories,remoute.repositories文件
2,在eclipse中打開菜單 window-> show view –> other –> Maven -> maven repositories
打開之后,選擇local repositories –> local repository ,右擊,選擇Build index.
3,工程右鍵--Maven--Update Project ,一定要選擇離線狀態一定要選擇Offline
總結:
最后還是通過update project解決問題,不過要勾選上offline,這個單詞字面意思是離線,未在線的,也就是有本地倉庫有jar包的情況下,勾選后update操作不會從maven遠程倉庫去查找要更新的jar包,而是從maven本地倉庫查找pom.xml中配置的jar包以更新到項目。
后記:
最近在整理公司的一些較老的項目時,再次發現這個問題。又總結了兩點,maven項目如果java類報錯,說缺少東西,即使你本地倉庫有jar包,也要在pom文件中引入相應的依賴,才算加入到項目中。
另外一些老的項目,特別是一些父項目,子項目,有互相依賴關系的項目,如果報的錯誤,說jar包缺少很多。接誰的項目跟誰要jar包,一個文件夾的要直接,另外本地倉庫中尾椎格式為pom的文件是不能刪的,以前我以為可以,后來出了問題,還是別刪。