解決 Delegate IDE build/run actions to Maven 編譯兩次的問題

天下沒有收費的bug發表於2021-10-07

起因:我的電腦炸了,吸取教訓,以後重要的東西千萬不要存在C盤,特別是我們 IT 行業的,程式碼和文件都是一點一點積累的經驗。突然沒了,總感覺少了點啥,平時我的程式碼都是放在D盤,但是很多文件放在C盤,導致此次丟失了很多文件,心疼~

電腦炸了,運維同事給我換了新的固態硬碟,C盤的東西是保不住了,還好其他碟符的東西還在。所以很多軟體要重灌也是在所難免的,其中重灌 idea 的時候就遇到了比較棘手的問題。


 

如圖,重灌了idea之後,啟動專案,就報錯如下,一開始覺得肯定是小問題,對著 maven 一頓操作,各種清快取,刪包重新下載,換依賴,換版本,換倉庫,能做的基本上是都做了。

 

 

最後還是妥協了,百度了一個辦法,就是在 Setting-maven-running 中勾選上 Delegate IDE build/run actions to Maven  

 

 

勾選上這個之後確實能執行了,真的神奇,但是執行了多次之後發現了一個問題,就是每次執行之前,會先執行 maven 的打包功能,簡直就是反人類

 

 

正常情況下,有編譯檔案就能執行了,沒必要打 jar 包,還是百度看到了這個問題,只要勾選上 Delegate IDE build/run actions to Maven  就會出現這個問題,但是現在又不能取消勾選,否則專案就啟動不起來,又回到了第一步。


 

後面去百度了各種方法,比較有說服力的是說 idea 2020.1 版本問題,我看了一下,我的確實是這個版本。但是想來想去也是不應該,總感覺這有點甩鍋型了,治根不治本,

其他的問題,也是百度不到啥了,估計這個是個天坑,不少人也因為這個換了版本,或者繼續將就下去。


思考:這到底是誰的問題?idea 的問題?還是 maven 的問題?或者兩者的問題?

maven 依賴確實下載下來了,idea 中看著是把依賴都載入進去了,但是執行的時候報錯在不到 jar 包又是怎麼回事?到這裡,腦子中大致有了個想法,難道 idea 假死?看著像載入進來了,但實際又沒有載入?這種情況,第一個想到的就是快取問題,然後又是百度一頓操作,各種清快取,最後還是失敗了。

沒有辦法,去看看 idea 是怎麼樣和 maven 做關聯的,怎麼樣在 idea 中能執行 maven 命令的 。

百度了半天,很顯然,答案都是有關 idea 怎麼配置 maven 的,很顯然這也不是我要的答案。

偶然間翻到一個命令 mvn idea:idea , 這個命令意思是重構一下,但是我後面去特意查了這個命令,也沒有找到想要的答案,但是我在 idea 的命令列中執行這個命令,很神奇,它給我下載了很多類似 mvaen 的依賴。

很可惜,當時比較忙,忘了這個命令是出自哪裡了,一直到後面我翻歷史記錄也是找不到了,這篇部落格也是隔了一個月才寫,9月份我是真的忙,但是這個一直是個天坑,我一直印象深刻,所以今天記錄一下。


解決辦法:在 idea 命令列中輸入 mvn idea:idea 重構一下

 

 

對於這個天坑,希望大家能早日脫坑。

 

相關文章