idea創(chuàng)建maven項目速度慢的三種解決方案
困擾
Intellij idea是一款非常強大的編輯器,可以很方便地幫我們創(chuàng)建maven項目,有用過的同學應(yīng)該都深有體會,但我們經(jīng)常會遇到一個困擾,那就是用idea創(chuàng)建maven項目時,速度很慢,往往需要好幾分鐘的時間,有時甚至會卡住,主要原因是創(chuàng)建maven項目時默認是下載求網(wǎng)絡(luò)上的一個文件archetype-catalog.xml,該文件的大小有5-6M,下載的速度很慢,導致創(chuàng)建過程也變得很慢。
解決辦法
解決辦法有三種,并且都需要對maven的VM Options參數(shù)做配置。
方法一
在maven的VM Options加上-DarchetypeCatalog=internal參數(shù),步驟如下:
打開idea的啟動界面,進入全局設(shè)置
搜索maven,點擊Runner一欄,在VM Options輸入框里寫上 “-DarchetypeCatalog=local”,
確定后,再新建maven項目,就能發(fā)現(xiàn)項目很快就創(chuàng)建完成。
方法二
下載archetype-catalog.xml文件,在maven的VM Options加上-DarchetypeCatalog=local
默認情況下,創(chuàng)建maven項目是從網(wǎng)絡(luò)下載catalog文件,我們可以將catalog文件下到本地,然后通過設(shè)置archetype的使用方式為local,這樣就不用每次都從網(wǎng)絡(luò)上下載了。
步驟:
1、下載archetype-catalog.xml文件到本地。
文件的位置是http://repo1.maven.org/maven2/archetype-catalog.xml,但直接訪問是下載不了,我把該文件放在了github上,有需要的同學可以點擊下載。
https://github.com/Taoxj/sc_properties
2、下載后放到本地倉庫中對應(yīng)的位置
maven本地倉庫的位置與settting.xml中的配置有關(guān),例如我的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沒有配置倉庫位置,那么就放到默認本地倉庫下面對應(yīng)的位置即可。本地倉庫的默認位置是:Default: ${user.home}/.m2/repository,例如筆者的計算機用戶名是Administrator,倉庫位置就是 C:\Users\Administrator.m2\repository。
3、修改maven的VM Options參數(shù)
跟之前方法的步驟一樣,打開全局設(shè)置中的maven設(shè)置欄,然后在VM Options輸入框中填入
-DarchetypeCatalog=local
這樣maven每次就會從本地獲取catalog文件,創(chuàng)建項目時就不用等那么久了。
方法三
在maven的VM Options加上-Dmaven.multiModuleProjectDictory=$MAVEN_HOME參數(shù),MAVEN_HOME是你環(huán)境變量中配置maven環(huán)境的名稱
設(shè)置好參數(shù)后,新建maven項目的時候添加上參數(shù)archetypeCatalog,值為local,或者是如果本地倉庫里有了catalog文件,參數(shù)值也可以為local
確定之后,maven項目就能很快的建成了。
心得
以上就是解決idea創(chuàng)建maven項目速度慢的幾種方案,值得說明的是,三種方案并不都是有效的,例如筆者曾經(jīng)嘗試過前兩種方案,發(fā)現(xiàn)公司的電腦能成功,家里的電腦卻行不通,然后我又嘗試了第三種方案,發(fā)現(xiàn)還是失敗,上網(wǎng)查了一下才知道,原來是jdk和maven版本不兼容的問題。
兩臺電腦的jdk版本都是1.8的,但我公司電腦安裝的maven版本是3.5,而私人電腦安裝的是3.3的maven版本,于是我在私人電腦上同樣安裝了3.5的maven版本,重新嘗試第三種方案,結(jié)果居然成功了,興奮過后我又在私人電腦上嘗試了前兩種方案,發(fā)現(xiàn)還是解決不了問題,而且直到現(xiàn)在我都不知是什么原因?qū)е拢瑹o奈,只能過后再研究看看。
最后提點建議,讀者們可以先嘗試前兩種方案,因為一勞永逸,不用創(chuàng)建項目的時候都配置參數(shù),如果行不通的話再采取第三種方案好了。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章

SpringBoot使用Sa-Token實現(xiàn)登錄認證

Java8新特性之Collectors.joining()實例詳解

Java多線程 Callable、Future 和FutureTask

springboot用controller跳轉(zhuǎn)html頁面的實現(xiàn)