第一問題描述
對(duì)于 idea 下的 maven 工程已球,特別是從其他地方導(dǎo)入的新工程,右邊 maven 管理工具中 dependencies 若出現(xiàn)紅色波浪線忆某。通常用以下方式嘗試解決阔蛉。
1、
檢查 repository 和 settings.xml文件中配置的倉(cāng)庫(kù)地址状原,F(xiàn)ile --> settings 輸入maven,檢查local repository的配置和settings.xml中配置的倉(cāng)庫(kù)地址削锰。
2毕莱、
打開項(xiàng)目 pom.xml 文件,右鍵 maven --> reimport 蛹稍,等待maven重新加載依賴部服。
3、
同上面操作一樣,可以同時(shí)對(duì)整個(gè)項(xiàng)目的所有pom.xml文件進(jìn)行reimport勉耀。
打開編譯器右邊的maven管理工具,點(diǎn)擊reimport all maven projects国夜。
第二問題描述
若還是出現(xiàn)紅色波浪線短绸,則有極大可能是maven引用的jar包有版本沖突。
IntelliJ IDEA查找依賴關(guān)系,解決jar包沖突
maven工程辆影,一個(gè)artifact的jar包可能不只一處被依賴;有時(shí)候依賴會(huì)出現(xiàn)相同的artifact卻不同版本厨姚,相互存在沖突键菱,這時(shí)就需要exclude某個(gè)版本。
解決辦法
打開pom.xml文件拭抬,右鍵選擇 diagrams --> show dependencies ,在這個(gè)關(guān)聯(lián)圖中可以看到所有包的所有依賴關(guān)系侵蒙。
找到標(biāo)有紅線的包位置(通常可以結(jié)合 maven 管理工具中 dependencies 紅線位置可以精準(zhǔn)定位)纷闺,點(diǎn)擊該依賴包,可以看到與之有沖突的不同版本的包氓轰。這時(shí)exclude其中一個(gè)就好了浸卦。
注意: exclude其中一個(gè)的時(shí)候,注意查看 repository 中靴庆,是哪一個(gè)版本的包不存在怒医,則exclude該版本。若是所依賴的版本都不存在稚叹,則需要單獨(dú)添加該maven 包了禽笑。
第三問題描述
今天還遇到一種情況佳镜,依賴會(huì)出現(xiàn)紅色波浪線凡桥。右邊maven 管理工具中,點(diǎn)開出問題的包缅刽,會(huì)看到該包無法繼續(xù)展開下一級(jí),同時(shí)在左邊項(xiàng)目的external libraries 中會(huì)找不到該出問題的包迟蜜。
這種情況啡省,查看repository相應(yīng)版本包的依賴,可以看到該包只有.pom .sha1等文件畦戒,而沒有jar包结序。這是一個(gè)錯(cuò)誤的依賴包,而且通承旌祝靠第一種辦法是無法解決的,并不能reimport解決遂庄。
解決辦法
找一個(gè)網(wǎng)絡(luò)好一點(diǎn)的地方救赐,刪掉repository中的該包所有相關(guān)文件只磷,再在項(xiàng)目中reimport操作。
若是局域網(wǎng)的話预厌,可以在外面下好后再拷貝進(jìn)局域網(wǎng)repository中去。