柚子快報(bào)激活碼778899分享:maven依賴報(bào)錯(cuò)解決
柚子快報(bào)激活碼778899分享:maven依賴報(bào)錯(cuò)解決
在maven使用的過程中通常會(huì)遇到依賴報(bào)錯(cuò)的問題,可能是原始倉(cāng)庫(kù)https://repo.maven.apache.org/maven2訪問慢,或者你配置了其他代理鏡像比如阿里云,網(wǎng)易等等,還或者是明明本地倉(cāng)庫(kù)有依賴,但是刷新maven依然報(bào)錯(cuò)。。
我們先來看一下基本的settings.xml文件
?
?
?
簡(jiǎn)單描述一下配置內(nèi)容
1.mirrors用于配置鏡像,由于maven官方下載地址在國(guó)外會(huì)很慢,我們一般可以配置阿里云等第三方鏡像,mirror配置具體的鏡像地址,id是唯一標(biāo)識(shí),不重復(fù)就行隨便寫都可以,mirrorOf相當(dāng)于攔截器,攔截哪些倉(cāng)庫(kù)會(huì)走這個(gè)鏡像下載,maven如果沒有指定倉(cāng)庫(kù)的話就是central,所以我們配置central就相當(dāng)于取代了原始的倉(cāng)庫(kù)下載地址,盡量不要配*,配置了*就相當(dāng)于所有倉(cāng)庫(kù)都從這個(gè)鏡像下載,這樣就沒有意義,url就是配置的鏡像地址,一般阿里云就夠了,而且配置多個(gè)mirrorOf一樣的mirror是沒有效果的,只會(huì)訪問第一個(gè)
2.profiles用于具體配置,可以配置多個(gè)profile,這里我們配置了兩個(gè)倉(cāng)庫(kù)地址,一個(gè)是公司內(nèi)部的倉(cāng)庫(kù),一個(gè)是163倉(cāng)庫(kù),profile中的id配置好后可以在idea的mavne工具上的profiles中顯示,repositorys配置你的倉(cāng)庫(kù),如果倉(cāng)庫(kù)需要賬號(hào)密碼認(rèn)證的話在server中配置就可以了,server中id對(duì)應(yīng)的就是repository中的id,releases和snapshots是兩個(gè)版本類型都為true就行
復(fù)現(xiàn)一下常見的依賴下載報(bào)錯(cuò)問題和解決方案
問題:idea導(dǎo)入項(xiàng)目的時(shí)加載maven發(fā)現(xiàn)依賴報(bào)錯(cuò)
解決:刪除項(xiàng)目中的idea文件夾和iml文件(有些版本的idea可能沒有生成iml文件,那就只刪除idea文件夾就可以了),然后重新導(dǎo)入項(xiàng)目
問題:當(dāng)你在settings.xml的profile中配置了repository,并且激活,但是下載依賴下載不了,但是你的central配置是可以下載的
解決:那你只需要再刷新一下mavne就可以了,因?yàn)樗螺d不了最后會(huì)去中央倉(cāng)庫(kù)下載,雖然頁面顯示下載報(bào)錯(cuò),但是中央倉(cāng)庫(kù)已經(jīng)下載成功了,并且本地倉(cāng)庫(kù)依賴包也是存在的
問題:當(dāng)你使用內(nèi)網(wǎng)下載了一個(gè)內(nèi)部獨(dú)有的依賴并且下載成功了,查看本地倉(cāng)庫(kù)沒有問題,然后換了一個(gè)倉(cāng)庫(kù)地址后比如阿里云,刷新maven會(huì)提示依賴下載報(bào)錯(cuò)
解決:找到對(duì)應(yīng)本地倉(cāng)庫(kù)的依賴文件夾,在具體的版本文件夾里面有一個(gè)_remote.repositories文件,里面記錄著鏡像下載緩存,修改>***=中的***為你更換的倉(cāng)庫(kù)id,再次刷新maven(如果還行不行可以重啟idea)也可以將***去掉只保留>=代表著只要本地有這個(gè)依賴,更換任何倉(cāng)庫(kù)都不會(huì)再去嘗試下載他(可以去嘗試使用maven命令手動(dòng)將jar install到本地查看_remote.repositories中的信息)
---------------------------------------------------------------------------------------------------------------------------------
如果你想配置多個(gè)倉(cāng)庫(kù)一起使用,內(nèi)網(wǎng)下載不了的依賴自動(dòng)去下一個(gè)倉(cāng)庫(kù)地址下載,不需要手動(dòng)切換的話可以,只要配置多個(gè)profile,然后給他都激活就可以了,一般下載順序就是配置的順序,在settings根目錄下配置(也可以一個(gè)profile配置多個(gè)repository,效果是一樣的)
或者在對(duì)應(yīng)profile根目錄下配置
可以在idea中看到,加載maven項(xiàng)目的時(shí)候是默認(rèn)選中的
注:maven倉(cāng)庫(kù)下載順序
1.如果settings.xml中配置了mirror的mirrorOf為*的話就是最高級(jí),只從這個(gè)地址下載
2.在項(xiàng)目pom.xml中直接配置repository,并且settings.xml中的mirrorOf沒有攔截此倉(cāng)庫(kù)id(測(cè)試過程中不穩(wěn)定,有點(diǎn)時(shí)候優(yōu)先級(jí)高于3和4)
3.在settings.xml中的profile配置了repository(一個(gè)profile可以配置多個(gè)repository,下載的時(shí)候會(huì)按順序挨個(gè)下載,直到找到依賴為止)并且激活配置,如果有多個(gè)配置一起激活的話,按profile配置的順序挨個(gè)下載,直到找到依賴為止,一定要注意如果激活的配置倉(cāng)庫(kù)都下載不了的話,最后還是會(huì)去中央倉(cāng)庫(kù)去下載(這種配置方式優(yōu)先級(jí)比pom.xml的profile高,如果settings.xml和pom.xml各配置了一個(gè)profile并且都是激活狀態(tài)下,會(huì)只執(zhí)行settings.xml中的倉(cāng)庫(kù)地址,即使依賴下載不了也不會(huì)去pom.xml配置的profile倉(cāng)庫(kù)去下載)
4.在項(xiàng)目pom.xml中的profile配置了repository(一個(gè)profile可以配置多個(gè)repository,下載的時(shí)候會(huì)按順序挨個(gè)下載,直到找到依賴為止)并且激活配置,如果有多個(gè)配置一起激活的話,按profile配置的順序挨個(gè)下載,直到找到依賴為止,一定要注意如果激活的配置倉(cāng)庫(kù)都下載不了的話,這種在pom.xml中配置的方式即使依賴下載不了最后也不會(huì)再去中央倉(cāng)庫(kù)下載
5.如果沒有配置任何倉(cāng)庫(kù)地址,或者配置了一個(gè)也沒有激活的話會(huì)默認(rèn)使用central倉(cāng)庫(kù)(如果mirror的mirrorOf配置為central的話為走配置的url,啥也沒有配置的話會(huì)走h(yuǎn)ttps://repo.maven.apache.org/maven2)
柚子快報(bào)激活碼778899分享:maven依賴報(bào)錯(cuò)解決
好文閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。