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

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

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

Java動(dòng)態(tài)調(diào)用類(lèi)中方法代碼

Java多線程 Callable、Future 和FutureTask

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

解決JAVA項(xiàng)目啟動(dòng)卡住,無(wú)任何異常信息的問(wèn)題