maven加載依賴報錯的原因分析及解決方法
一、問題描述:maven加載依賴報錯
點擊刷新,加載所有maven項目的時候,maven加載依賴失敗。

顯示“無法解析mysql:mysql-connector-java:pom:8.0.27”,具體報錯原因如下:
mysql:mysql-connector-java:pom:8.0.27 failed to transfer from https://maven.aliyun.com/repository/public during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of nexus has elapsed or updates are forced. Original error: Could not transfer artifact mysql:mysql-connector-java:pom:8.0.27 from/to nexus (https://maven.aliyun.com/repository/public): transfer failed for https://maven.aliyun.com/repository/public/mysql/mysql-connector-java/8.0.27/mysql-connector-java-8.0.27.pom
嘗試使用 -U 標(biāo)記(強制更新快照)運行 Maven 導(dǎo)入

二、原因分析&&解決方法
mysql:mysql-connector-java:pom:8.0.27 failed to transfer from https://maven.aliyun.com/repository/public during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of nexus has elapsed or updates are forced. Original error: Could not transfer artifact mysql:mysql-connector-java:pom:8.0.27 from/to nexus (https://maven.aliyun.com/repository/public): transfer failed for https://maven.aliyun.com/repository/public/mysql/mysql-connector-java/8.0.27/mysql-connector-java-8.0.27.pom
將上述報錯信息進行翻譯:
Mysql: Mysql -connector-java:pom:8.0.27在前一次嘗試中從https://maven.aliyun.com/repository/public傳輸失敗。此失敗緩存在本地存儲庫中,直到nexus的更新間隔已過或強制更新,才會重新嘗試解析。原來的錯誤:無法傳輸工件mysql:mysql-connector-java:pom:8.0.27從/到nexus (https://maven.aliyun.com/repository/public):傳輸失敗https://maven.aliyun.com/repository/public/mysql/mysql-connector-java/8.0.27/mysql-connector-java-8.0.27.pom
即此失敗緩存在本地儲存庫中,直到nexus的更新間隔已過或強制更新,才會重新嘗試解析。
1. 刪除本地倉庫中下載失敗緩存的依賴
進入maven倉庫中該依賴包的緩存文件夾,將里面的文件全部刪除。
注:當(dāng)我們拉取jar包失敗的時候,本地庫就會生成lastUpdated 文件。 拉取成功的使用可以在本地倉庫中查看到j(luò)ar包。

2. 然后將項目進行clean、compile、package、install

注:
1、package 命令執(zhí)行時,會先從遠程倉庫下載最新 jar 包,在 reimport 無效時,可起到代替 reimport 的效果;
2、同理,使用 maven install 也可,但生成的 jar 包會同時到本地倉庫;使用 maven deploy 也可,但生成的 jar 包會同時到遠程倉庫;
3、建議使用 package 命令,生成的 jar 包只保存在項目文件夾中,不影響倉庫 jar 包;且更新完成之后,可執(zhí)行 maven clean 命令清理掉剛才生成的 jar 包。
3. 重新加載maven

重新加載maven后,改依賴項還是報錯,報錯如下:
the trustAnchors parameter must be non-empty
翻譯:trustAnchors參數(shù)必須非空
4. 在IDEA的Setting的Maven配置的VM options添加如下代碼:
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
由于使用了HTTPS,存在著SSL證書驗證的問題,因此需要在IDEA中添加配置來忽略SSL證書的驗證。
上述代碼的作用是忽略SSL證書檢查,下面的Importing是指導(dǎo)入依賴時忽略SSL證書檢查,Runner是指運行Maven插件或目標(biāo)時忽略SSL證書檢查。


然后把倉庫里緩存失敗的文件刪除,再刷新maven,依賴即可下載成功!
5. 一鍵用腳本刪除maven倉庫里所有的lastUpdated文件,然后刷新maven
一個一個刪除maven倉庫里下載失敗的緩存文件太慢了,直接用腳本刪除maven倉庫里所有的lastUpdated文件。操作方法如下:
新建一個文件把名稱后綴名改為clean.bat
@echo off
rem create by NettQun
rem 倉庫路徑
set REPOSITORY_PATH=D:\maven\apache-maven-3.8.4\repository
rem 搜索中
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
echo %%i
del /s /q "%%i"
)
rem 搜索完畢
pause
將上面的D:\maven\apache-maven-3.8.4\repository 改成你自己的倉庫地址,保存退出,退出后雙擊運行即可。然后刷新maven,所有依賴都下載成功了!
三、另一種解決方法
1. 直接在Maven中央倉庫搜索我們需要的jar包
Maven中央倉庫地址:https://mvnrepository.com/
如我的不能被Maven識別的jar包:org.apache.zookeeper:zookeeper:pom:3.4.6

2. 點擊需要的jar包名稱進入版本庫,下載對應(yīng)版本
需要哪個版本,就點擊對應(yīng)版本

點擊對應(yīng)版本的包進入如下界面,點擊pom/jar下載文件。

下載好后把這個文件復(fù)制到maven倉庫中對應(yīng)的目錄下。
然后刷新maven,或者重啟idea。
總結(jié)
到此這篇關(guān)于maven加載依賴報錯的原因分析及解決方法的文章就介紹到這了,更多相關(guān)maven加載依賴報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot中實現(xiàn)接口冪等性的4種方案小結(jié)
本文主要介紹了Springboot中實現(xiàn)接口冪等性,包含數(shù)據(jù)庫的冪等,數(shù)據(jù)庫的冪等,Redis的冪等性和Token + 時間戳的冪等性,具有一定的參考價值,感興趣的可以了解一下2024-03-03
Java中報錯org.springframework.jdbc.UncategorizedSQLException的多種
本文主要介紹了Java中報錯org.springframework.jdbc.UncategorizedSQLException的多種解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
Idea2019創(chuàng)建Springboot Web項目的方法步驟
這篇文章主要介紹了Idea2019創(chuàng)建Springboot Web項目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Spring MVC4.1服務(wù)器端推送實現(xiàn)過程解析
這篇文章主要介紹了Spring MVC4.1服務(wù)器端推送實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11

