以下為 idea maven 相關(guān)配置備忘
1. maven 下載安裝與環(huán)境變量配置
1. 下載downloading apache maven 3.3.9,解壓并存放到系統(tǒng)的某一目錄下。
2. 執(zhí)行 vim ~/.bash_profile
,添加以下兩行內(nèi)容:
1
2
|
export m2_home=/path/to/apache-maven- 3.3 . 9 export path=$path:$m2_home/bin |
3. 執(zhí)行 source ~/.bash_profile
使解析文件立刻生效。4. 執(zhí)行 mvn -v
進(jìn)行測(cè)試
2. maven 鏡像地址修改
執(zhí)行 vim /your/path/to/apache-maven-3.3.9/conf/settings.xml
在 <mirrors></mirrors>
中添加:
1
2
3
4
5
6
|
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http: //maven.aliyun.com/nexus/content/groups/public/</url> <mirrorof>central</mirrorof> </mirror> |
其中,<url>
中的內(nèi)容為鏡像地址,這里選擇的是阿里的鏡像地址。
3. 修改 idea 中 maven 的目錄
在 idea 的創(chuàng)建項(xiàng)目窗口,選擇 configure > project defaults > settings
進(jìn)行設(shè)置
注意:不能在打開(kāi)的項(xiàng)目中設(shè)置,因?yàn)檫@樣會(huì)使得設(shè)置的內(nèi)容僅對(duì)當(dāng)前項(xiàng)目生效。如下圖,在打開(kāi)的項(xiàng)目中進(jìn)行設(shè)置時(shí),會(huì)是
for current project
選擇 build, execution, deployment > build tools > maven
或直接搜索 maven
,設(shè)置 maven home directory
為之前的 maven 路徑,并設(shè)置 user setting files
和 local repository
為之前的 settings.xml
和 repository
路徑,注意勾選 override
選項(xiàng),如下圖:
(選做):建議復(fù)制 settings.xml
和 repository
到其他位置,以免因 maven 版本更換而丟失配置和依賴倉(cāng)庫(kù)。如復(fù)制到 ~/.m2
路徑下。
4. 修改 maven 的 vm option
使用 idea 創(chuàng)建 maven 骨架項(xiàng)目時(shí),可能會(huì)出現(xiàn) :generate
過(guò)程一直持續(xù)的情況,標(biāo)準(zhǔn)項(xiàng)目目錄結(jié)構(gòu)一直無(wú)法生成。
這時(shí)需要修改 idea 中 maven vm option 的值,使其不再遠(yuǎn)程下載所需的 xml 文件。注意:這里仍需要在 for default project
中設(shè)置,修改 build, execution, deployment > build tools > maven > runner
中的 vm option 為 -darchetypecatalog=internal
,如下圖:
當(dāng)然也可以不使用 create from archetype
,直接在 pom.xml
中 添加配置,然后點(diǎn)擊右鍵 reimport 生成 maven 骨架項(xiàng)目目錄結(jié)構(gòu)。
5. 添加框架支持下載失敗問(wèn)題
在 maven 項(xiàng)目中,對(duì)項(xiàng)目文件右鍵 add framework support
添加如 spring mvc
框架支持時(shí),可能會(huì)出現(xiàn)無(wú)法下載框架所需文件的情況。而且從失敗提示中可以發(fā)現(xiàn),其下載的地址仍是 idea 默認(rèn)的 maven 鏡像地址,而不是 settings.xml
中配置的。
猜測(cè)可能是由于 idea 中如下圖的配置項(xiàng)造成的
對(duì)于這種情況,需要自行修改 pom.xml
文件,然后在 idea 中進(jìn)行 maven reimport 即可,如 spring mvc
可以添加如下內(nèi)容到 pom.xml
的 <dependencies></dependencies>
標(biāo)簽中:
1
2
3
4
5
6
|
<dependency> <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> <version> 3.2 . 4 .release</version> <type>jar</type> </dependency> |
6. 項(xiàng)目刪除問(wèn)題
新建一個(gè) maven 項(xiàng)目后,若刪除該項(xiàng)目文件夾,并新建一個(gè)同名 maven 項(xiàng)目,可能報(bào)錯(cuò)顯示該項(xiàng)目已存在。
因而在移除 maven 項(xiàng)目時(shí),需要首先在 idea 中對(duì)項(xiàng)目文件夾點(diǎn)擊右鍵,選擇 remove module
以免之后出現(xiàn)不必要的報(bào)錯(cuò)。
這一情況通常出現(xiàn)在 mac 上,需要將廢紙簍中的項(xiàng)目也刪除才可以。
這往往是由于我們?cè)谕粋€(gè)目錄中創(chuàng)建了project name相同的項(xiàng)目導(dǎo)致的。因?yàn)樵谕荒夸浵虏荒軇?chuàng)建兩個(gè)project name相同的project。
所以在mac下我們可以直接把原先的那個(gè)project刪除后,再想創(chuàng)建一個(gè)project name一樣的,發(fā)現(xiàn)還是會(huì)出現(xiàn)該問(wèn)題。問(wèn)題的真正原因是原先的那個(gè)project其實(shí)還是在我們的電腦上,即vfs虛擬文件系統(tǒng),我們可以在mac的廢紙簍中找到剛才刪除的project。最終的解決辦法就是清空廢紙簍或者刪除在廢紙簍中的原project。這樣以后,我們就可以在同一個(gè)目錄中創(chuàng)建相同名字的project了。
經(jīng)過(guò)實(shí)踐發(fā)現(xiàn),出現(xiàn)該報(bào)錯(cuò)的原因只和project的名字有關(guān),而和groupid和artifactid無(wú)關(guān)。雖然在idea中創(chuàng)建項(xiàng)目時(shí),默認(rèn)artifactid和project name是一致的,其實(shí)這兩者也沒(méi)有必然關(guān)系,我們可以修改project name使其和artifactid不一樣。
7. 默認(rèn) jdk/jre 問(wèn)題
編譯執(zhí)行時(shí),可能出現(xiàn)類似「原值 1.5 已過(guò)時(shí),將在未來(lái)所有發(fā)行版本中刪除」 的報(bào)錯(cuò):
解決方案有以下幾種:
a. 修改 maven 的 settings.xml 并添加如下內(nèi)容
1
2
3
4
5
6
7
8
9
10
11
12
|
<profile> <id>jdk- 1.8 </id> <activation> <activebydefault> true </activebydefault> <jdk> 1.8 </jdk> </activation> <properties> <maven.compiler.source> 1.8 </maven.compiler.source> <maven.compiler.target> 1.8 </maven.compiler.target> <maven.compiler.compilerversion> 1.8 </maven.compiler.compilerversion> </properties> </profile> |
b. 修改 pom.xml 并添加如下內(nèi)容,可解決在引入依賴時(shí)因 maven 導(dǎo)致的問(wèn)題( 使用方法 c 后,編譯選項(xiàng)仍可能被 maven 改變,此時(shí)可采用此方法解決 ):
1
2
3
4
|
<properties> <maven.compiler.source> 1.8 </maven.compiler.source> <maven.compiler.target> 1.8 </maven.compiler.target> </properties> |
c. 修改 idea 編譯設(shè)置
選擇右上角的 project structure
按鈕:
在 modules > sources
中修改 language level 為 8 (與自己使用的 jdk 版本相同)
然后在 preferences
中修改 build, execution, deployment > compiler > java compiler
為 1.8 (與 language level 對(duì)應(yīng))
注:這一步的設(shè)置同樣建議對(duì) default project
進(jìn)行,不然新建的項(xiàng)目中還是需要修改
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://segmentfault.com/a/1190000007995705