問題描述
在pom.xml中配置了依賴,但是提示依賴不成功,或在本地倉庫找不到相關依賴
大致錯誤如下:
ArtifactDescriptorException: Failed to read artifact descriptor for commons-beanutils:commons-beanutils-core:jar:1.8.0: ArtifactResolutionException: Could not transfer artifact commons-beanutils:commons-beanutils-core:pom:1.8.0
解決問題思路
1. 先查看本地倉庫是否有這個jar包,即是否下載成功
一般是未下載成功,有時候可能是網絡問題,那么刪除了重試
即update maven project,右鍵項目:maven->update project
並勾選force選項,如果勾選force,那么不用刪除未下載成功的殘余文件,在大量jar包未下載成功的時候可以選擇勾選force
2. 查看倉庫配置
如果發現沒有下載成功,則立即檢查eclipse連接的倉庫是否有問題
window->show view->maven repositories
如果倉庫配置正確了,掠過此步驟,如果這里的倉庫地址配置不對
那么看settings.xml
%m2_home%\settings.xml
是否配置鏡像
注意這里對應public倉庫
或者是否有配置倉庫
當然,有的項目在pom.xml里面也指定了倉庫地址,那么以pom.xml為優先考慮
3. 去倉庫查看是否有對應的jar
搜索倉庫,如果發現了對應的jar,基本是網絡問題,或者是之前的倉庫配置有問題
配置正確重試即可,如果沒有,那么說明現有的倉庫里沒有對應的jar,解決方法有2種
1)配置更多的倉庫
看public倉庫的配置
左邊的倉庫表示是正在用的倉庫,如果有Central,基本能下載到常用的jar
如果沒有,可以考慮再添加新的倉庫,有時候可能我們把Central拖到右邊去了,導致下載不到
2)自己上傳jar到倉庫
具體請參考我之前的文章:Maven實戰(十)利用 Nexus 來構建企業級 Maven 倉庫
4. 更新maven index
以上方法試過了都不行,可以重新更新索引
如下圖:
右鍵倉庫並選擇update index
最后強制更新maven項目,基本就可以了,如果還有問題,請聯系我