IDEA2020.2.3 "reading maven projects"卡住的問題
IDEA(2020.2.3) “reading maven projects”卡住
刪掉項目的.mvn文件夾和.idea文件夾再重新打開即可。(親試)
PS:下面看下解決 IDEA 2020.2 reading pom.xml 卡死問題,具體內(nèi)容如下所示:
一、解決方案搜尋
剛出 IDEA 2020.2 版本的時候,當(dāng)時第一時間更新了。打開公司的項目,沒啥問題,但是當(dāng)打開自己的項目的時候,就會看到右下角顯示 reading pom.xml 然后就卡死了。很多次都這樣,后來就回滾了 2020.1,直到今天才來再次嘗試發(fā)現(xiàn)原因和解決方案。
1.1 導(dǎo)致原因的設(shè)定
如果有幸點進了 setting 中的 Maven 選項卡,那么可以看到 "Maven home dictionary" 也就是自定義的本地 Maven 路徑被改成了 C:\Users\{你的用戶名}\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2 文件下的 Maven 路徑,或者是 IDEA 默認 Maven 路徑。
本以為把這個改了就可以了,但是下次啟動還是會被改回來。但是啟動項目的時候,直接打開公司的卻沒啥事。
1.2 搜索到的解決方案
也過了一段時間了,網(wǎng)上也有解決方案了,目前解決方案為兩種:
一種是刪除項目內(nèi)的 .mvn 文件夾(或者刪除里面的 maven-wrapper.properties 文件)
還有一種是來到 C:\Users\{你的用戶名}\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2 文件夾下,也就是 setting 中 Maven 指向的文件夾,把已有本地的 maven 包復(fù)制到其中。
至此,解決問題應(yīng)該是夠用了。但是這兩個是不是好的方案,下面進行分析。
二、導(dǎo)致問題的原因
2.1 IDEA 2020.1 和 2020.2 的區(qū)別
可以去看 JetBrains 的官網(wǎng)的介紹,也有中文的更新說明,以下截圖來自于官網(wǎng)。

從圖片中可以看到,IDEA 2020.2 有了對 Maven Wrapper 的支持。而它就是導(dǎo)致原因的所在。
2.2 IDEA 中的 Maven Wrapper
這個 Maven Wrapper 和 Gradle Wrapper 類似,直白點就是自帶了一個 Maven/Gradle 的包,省去了安裝、版本不一致等問題。
而 IDEA 2020.2 支持了這個功能,也就是說,差不多等于不用再手動配置 Maven 了,有了項目下的 .mvn/wrapper/maven-wrapper.properties就能直接下載項目中所需的 Maven 了。
打開 maven-wrapper.properties 文件,可以看到一般里面就只有兩行(有些項目可能沒有,可以去嘗試 new 一個項目,比如 Spring Boot,就能看到)。
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
可以看到里面有兩個 url 的網(wǎng)絡(luò)地址,也就是這個項目會去從這個地址下載所需的文件。那么,如果直接打開這個 url 進行下載呢?于是我嘗試了一下,如圖:

可以看到,速度為幾 KB/s,也就是說,當(dāng)新建了一個項目的時候,它在 reading pom.xml 的時候,很有可能在以這個速度在下載,甚至可能下載失敗了。如果有能力,可以試試給 IDEA 走代理,或者換網(wǎng)絡(luò),然后重新 reading pom.xml,這時候大概率是不會卡死的,當(dāng)然也有可能最后完成的時候會報錯。
2.3 Maven 的下載路徑
從網(wǎng)絡(luò)下載 Maven,必然要保存到本地的,那保存在哪里呢?就是在 C:\Users\{你的用戶名}\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2 這里。所以之前的解決方案中,復(fù)制一份自己的 Maven 到這個文件夾,是能解決問題的。
2.4 .mvn 文件夾
里面只有一個 Maven Wrapper 的 jar 和一個 maven-wrapper.properties。如果項目中有這個文件夾的話,那么手動在 setting 中設(shè)置 Maven 路徑的話,是無效的,最后還是會更改到 C:\Users\{你的用戶名}\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2 或者 IDEA 的默認路徑 中,所以刪除 .mvn 文件夾后(或者刪除 maven-wrapper.properties 文件),就能解決問題了。
三、解決方案評估
3.1 方案一:刪除 .mvn 文件夾
這個方法可以使得 IDEA 能夠使用自己的 Maven 路徑。如果自己的 Maven 中配置了很多設(shè)置的話,建議把 .mvn 文件夾刪除。
但是這個方法有個弊端,就是當(dāng)新建一個工程的時候,IDEA 會默認創(chuàng)建 .mvn 文件夾,也就是說,手速不夠快的話,還是會卡死在 reading pom.xml。
3.2 方案二:復(fù)制 Maven 到 .m2 文件夾下
這個方法解決了新建工程的時候下載 Maven 的問題,不會因為網(wǎng)絡(luò)問題而卡在下載 Maven。但是這個方法需要把自己配置的 Maven 復(fù)制到 C:\Users\{你的用戶名}\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2 文件夾中,IDEA 會默認使用這個路徑下的 Maven,不能自定義,可能對于某些人會比較難受。
3.3 方案三:使用一個好的網(wǎng)絡(luò)
導(dǎo)致問題的原因就是下載 Maven 的原因,也就是說,找一個能下載 Maven 的網(wǎng)絡(luò)的話,就能避免卡死在 reading pom.xml 了。
3.4 前兩種方案結(jié)合
方案一和方案二結(jié)合的話,首先確保新建工程的時候,不會因為下載而卡死,從而能將工程新建起來;然后將 .mvn 刪除之后就能使用自己配置的 Maven 了,這樣就不會因為用了默認路徑下的 Maven 而不舒服了。
到此這篇關(guān)于IDEA2020.2.3 "reading maven projects"卡住的問題的文章就介紹到這了,更多相關(guān)idea2020.2.3 maven projects內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實戰(zhàn)之鮮花商城系統(tǒng)的實現(xiàn)
這篇文章主要介紹了如何利用Java語言實現(xiàn)鮮花商城系統(tǒng),文中采用的技術(shù)有Spring、SpringMVC、Mybatis、JSP等,感興趣的小伙伴可以了解一下2022-05-05
Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化
這篇文章主要介紹了Springboot添加jvm監(jiān)控實現(xiàn)數(shù)據(jù)可視化,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Spring Cloud Consul的服務(wù)注冊與發(fā)現(xiàn)
這篇文章主要介紹了Spring Cloud Consul服務(wù)注冊與發(fā)現(xiàn)的實現(xiàn)方法,幫助大家更好的理解和學(xué)習(xí)使用spring框架,感興趣的朋友可以了解下2021-02-02
SpringSecurity表單配置之登錄成功及頁面跳轉(zhuǎn)原理解析
這篇文章主要介紹了SpringSecurity表單配置之登錄成功及頁面跳轉(zhuǎn)原理解析,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12

