以下為 idea maven 相關配置備忘
1. maven 下載安裝與環境變量配置
1. 下載downloading apache maven 3.3.9,解壓并存放到系統的某一目錄下。
2. 執行 vim ~/.bash_profile
,添加以下兩行內容:
1
2
|
export m2_home=/path/to/apache-maven- 3.3 . 9 export path=$path:$m2_home/bin |
3. 執行 source ~/.bash_profile
使解析文件立刻生效。4. 執行 mvn -v
進行測試
2. maven 鏡像地址修改
執行 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>
中的內容為鏡像地址,這里選擇的是阿里的鏡像地址。
3. 修改 idea 中 maven 的目錄
在 idea 的創建項目窗口,選擇 configure > project defaults > settings
進行設置
注意:不能在打開的項目中設置,因為這樣會使得設置的內容僅對當前項目生效。如下圖,在打開的項目中進行設置時,會是
for current project
選擇 build, execution, deployment > build tools > maven
或直接搜索 maven
,設置 maven home directory
為之前的 maven 路徑,并設置 user setting files
和 local repository
為之前的 settings.xml
和 repository
路徑,注意勾選 override
選項,如下圖:
(選做):建議復制 settings.xml
和 repository
到其他位置,以免因 maven 版本更換而丟失配置和依賴倉庫。如復制到 ~/.m2
路徑下。
4. 修改 maven 的 vm option
使用 idea 創建 maven 骨架項目時,可能會出現 :generate
過程一直持續的情況,標準項目目錄結構一直無法生成。
這時需要修改 idea 中 maven vm option 的值,使其不再遠程下載所需的 xml 文件。注意:這里仍需要在 for default project
中設置,修改 build, execution, deployment > build tools > maven > runner
中的 vm option 為 -darchetypecatalog=internal
,如下圖:
當然也可以不使用 create from archetype
,直接在 pom.xml
中 添加配置,然后點擊右鍵 reimport 生成 maven 骨架項目目錄結構。
5. 添加框架支持下載失敗問題
在 maven 項目中,對項目文件右鍵 add framework support
添加如 spring mvc
框架支持時,可能會出現無法下載框架所需文件的情況。而且從失敗提示中可以發現,其下載的地址仍是 idea 默認的 maven 鏡像地址,而不是 settings.xml
中配置的。
猜測可能是由于 idea 中如下圖的配置項造成的
對于這種情況,需要自行修改 pom.xml
文件,然后在 idea 中進行 maven reimport 即可,如 spring mvc
可以添加如下內容到 pom.xml
的 <dependencies></dependencies>
標簽中:
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. 項目刪除問題
新建一個 maven 項目后,若刪除該項目文件夾,并新建一個同名 maven 項目,可能報錯顯示該項目已存在。
因而在移除 maven 項目時,需要首先在 idea 中對項目文件夾點擊右鍵,選擇 remove module
以免之后出現不必要的報錯。
這一情況通常出現在 mac 上,需要將廢紙簍中的項目也刪除才可以。
這往往是由于我們在同一個目錄中創建了project name相同的項目導致的。因為在同一目錄下不能創建兩個project name相同的project。
所以在mac下我們可以直接把原先的那個project刪除后,再想創建一個project name一樣的,發現還是會出現該問題。問題的真正原因是原先的那個project其實還是在我們的電腦上,即vfs虛擬文件系統,我們可以在mac的廢紙簍中找到剛才刪除的project。最終的解決辦法就是清空廢紙簍或者刪除在廢紙簍中的原project。這樣以后,我們就可以在同一個目錄中創建相同名字的project了。
經過實踐發現,出現該報錯的原因只和project的名字有關,而和groupid和artifactid無關。雖然在idea中創建項目時,默認artifactid和project name是一致的,其實這兩者也沒有必然關系,我們可以修改project name使其和artifactid不一樣。
7. 默認 jdk/jre 問題
編譯執行時,可能出現類似「原值 1.5 已過時,將在未來所有發行版本中刪除」 的報錯:
解決方案有以下幾種:
a. 修改 maven 的 settings.xml 并添加如下內容
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 并添加如下內容,可解決在引入依賴時因 maven 導致的問題( 使用方法 c 后,編譯選項仍可能被 maven 改變,此時可采用此方法解決 ):
1
2
3
4
|
<properties> <maven.compiler.source> 1.8 </maven.compiler.source> <maven.compiler.target> 1.8 </maven.compiler.target> </properties> |
c. 修改 idea 編譯設置
選擇右上角的 project structure
按鈕:
在 modules > sources
中修改 language level 為 8 (與自己使用的 jdk 版本相同)
然后在 preferences
中修改 build, execution, deployment > compiler > java compiler
為 1.8 (與 language level 對應)
注:這一步的設置同樣建議對 default project
進行,不然新建的項目中還是需要修改
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://segmentfault.com/a/1190000007995705