IDEA升級(jí)到2021.3之后Maven私有倉庫掛了,怎么辦?

作者 |?碼農(nóng)小胖哥
更新到Intellij IDEA 2021.3之后,Maven出問題了!無法從Maven私有倉庫下載依賴了。

提示要從maven-default-http-blocker下載,難道不應(yīng)該去私倉下載嗎?
如果您正在學(xué)習(xí)Spring Boot,那么推薦一個(gè)連載多年還在繼續(xù)更新的免費(fèi)教程:http://blog.didispace.com/spring-boot-learning-2x/
原因
原來IDEA更新到2021.3后內(nèi)置Maven的版本提升到了3.8.1。

Maven3.8.1發(fā)布一個(gè)變更(CVE-2021-26291):
由于使用 HTTP 的自定義存儲(chǔ)庫可能導(dǎo)致中間人攻擊?,F(xiàn)在越來越多的存儲(chǔ)庫使用 HTTPS,但情況并非總是如此。這意味著 Maven Central 包含帶有自定義存儲(chǔ)庫的 POM,這些存儲(chǔ)庫通過 HTTP 引用 URL。這使得通過此類存儲(chǔ)庫下載的內(nèi)容成為攻擊目標(biāo)。開發(fā)人員可能沒有意識(shí)到某些下載使用了不安全的 URL。由于上傳到 Maven Central 的 POM 是不可變的,因此需要對(duì) Maven 進(jìn)行更改。
為了解決這個(gè)問題,從3.8.1開始setting.xml會(huì)增加一個(gè)默認(rèn)鏡像maven-default-http-blocker來阻止從HTTP鏈接下載不安全的依賴庫。
????<mirror>
??????<id>maven-default-http-blockerid>
??????<mirrorOf>external:http:*mirrorOf>
??????<name>Pseudo?repository?to?mirror?external?repositories?initially?using?HTTP.name>
??????<url>http://0.0.0.0/url>
??????<blocked>trueblocked>
????mirror>
因?yàn)槲覀兊?strong style="color: rgb(53, 179, 120);">Maven私有倉庫是內(nèi)網(wǎng)部署的,并沒有去設(shè)置HTTPS,導(dǎo)致這個(gè)問題也就不足為奇了。
解決辦法
既然找到了原因,解決這個(gè)問題就很簡單了。最簡單的方法就是降級(jí)IDEA版本或者不使用內(nèi)置的Maven;最好的方法就是升級(jí)到HTTPS。如果你想維持現(xiàn)狀就需要把setting.xml中的默認(rèn)鏡像(上面給出的xml標(biāo)簽)給刪除掉。
如果你是Toolbox安裝的話,在Windows下路徑為:
C:\Users\你的用戶\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\數(shù)字文件名\plugins\maven\lib\maven3\conf
我猜想都應(yīng)該在安裝目錄的插件文件夾下的\maven\lib\maven3\conf路徑下,你可以找找看。
還有小伙伴吐槽 2021.3 升級(jí)后不能無限試用了,正好看到一個(gè)方法,大家可以關(guān)注公眾號(hào) TJ君,回復(fù)IDEA2021.3,試試看吧
