困擾 Intellij idea是一款非常強大的編輯器,可以很方便地幫我們創建maven項目,有用過的同學應該都深有體會,但我們經常會遇到一個困擾,那就是用idea創建maven項目時,速度很慢,往往需要好幾分鐘的時間,有時甚至會卡住,主要原因是創建maven項目時預設是下載求網路上的一個文件arc ...
困擾
Intellij idea是一款非常強大的編輯器,可以很方便地幫我們創建maven項目,有用過的同學應該都深有體會,但我們經常會遇到一個困擾,那就是用idea創建maven項目時,速度很慢,往往需要好幾分鐘的時間,有時甚至會卡住,主要原因是創建maven項目時預設是下載求網路上的一個文件archetype-catalog.xml,該文件的大小有5-6M,下載的速度很慢,導致創建過程也變得很慢。
解決辦法
解決辦法有三種,並且都需要對maven的VM Options參數做配置。
方法一
在maven的VM Options加上-DarchetypeCatalog=internal參數,步驟如下:
打開idea的啟動界面,進入全局設置
搜索maven,點擊Runner一欄,在VM Options輸入框里寫上 “-DarchetypeCatalog=local”,
確定後,再新建maven項目,就能發現項目很快就創建完成。
方法二
下載archetype-catalog.xml文件,在maven的VM Options加上-DarchetypeCatalog=local
預設情況下,創建maven項目是從網路下載catalog文件,我們可以將catalog文件下到本地,然後通過設置archetype的使用方式為local,這樣就不用每次都從網路上下載了。
步驟:
1、下載archetype-catalog.xml文件到本地。
文件的位置是http://repo1.maven.org/maven2/archetype-catalog.xml,但直接訪問是下載不了,我把該文件放在了github上,有需要的同學可以點擊下載。
https://github.com/Taoxj/sc_properties
2、下載後放到本地倉庫中對應的位置
maven本地倉庫的位置與settting.xml中的配置有關,例如我的setting.xml配置倉庫的位置是:D:\apache-maven-3.6.0\repository
那麼catalog文件就可以放在 D:\apache-maven-3.6.0\repository\org\apache\maven\archetype\archetype-catalog\3.0.1下
如果setting.xml沒有配置倉庫位置,那麼就放到預設本地倉庫下麵對應的位置即可。本地倉庫的預設位置是:Default: ${user.home}/.m2/repository,例如筆者的電腦用戶名是Administrator,倉庫位置就是 C:\Users\Administrator.m2\repository。
3、修改maven的VM Options參數
跟之前方法的步驟一樣,打開全局設置中的maven設置欄,然後在VM Options輸入框中填入
-DarchetypeCatalog=local
這樣maven每次就會從本地獲取catalog文件,創建項目時就不用等那麼久了。
方法三
在maven的VM Options加上-Dmaven.multiModuleProjectDictory=$MAVEN_HOME參數,MAVEN_HOME是你環境變數中配置maven環境的名稱
設置好參數後,新建maven項目的時候添加上參數archetypeCatalog,值為local,或者是如果本地倉庫里有了catalog文件,參數值也可以為local
確定之後,maven項目就能很快的建成了。
心得
以上就是解決idea創建maven項目速度慢的幾種方案,值得說明的是,三種方案並不都是有效的,例如筆者曾經嘗試過前兩種方案,發現公司的電腦能成功,家裡的電腦卻行不通,然後我又嘗試了第三種方案,發現還是失敗,上網查了一下才知道,原來是jdk和maven版本不相容的問題。
兩臺電腦的jdk版本都是1.8的,但我公司電腦安裝的maven版本是3.5,而私人電腦安裝的是3.3的maven版本,於是我在私人電腦上同樣安裝了3.5的maven版本,重新嘗試第三種方案,結果居然成功了,興奮過後我又在私人電腦上嘗試了前兩種方案,發現還是解決不了問題,而且直到現在我都不知是什麼原因導致,無奈,只能過後再研究看看。
最後提點建議,讀者們可以先嘗試前兩種方案,因為一勞永逸,不用創建項目的時候都配置參數,如果行不通的話再採取第三種方案好了。