IntelliJ IDEA 支援構建工具Maven,但在具體使用中有一些困擾初學者的問題。本文從一個Maven設定的實戰出發,詳細描述了在IntelliJ IDEA中如何建立Maven專案,如何設定Maven,可能遇到的問題,以及如何解決。
環境:
JDK 15
IntelliJ IDEA 2020.2
注:環境很重要,不同版本的IDEA,具體設定位置或文字描述會有不同。
測試的程式碼:呼叫第三方庫apache.commons.math3計算gcd
import org.apache.commons.math3.util. ArithmeticUtils;
public class GcdTest {
public static void main(String[] args) {
//計算兩個整數的公約數
int a = ArithmeticUtils.gcd(361, 285);
System.out.println(a);
}
}
建立Maven專案,File–New—Projects
注:如果是第一次建立Maven專案,IDEA 會自動下載很多支援檔案,大約需要10幾分鐘,需要耐心等待。
建立Maven的過程很簡單,但需要重點關注其中的幾個比較坑的點
版本不匹配問題,不知道是否是IDEA的bug,新建MAVEN後,有幾個和版本有關的設定,IDEA固執的設定為某個奇怪的低版本,比如Modules裡會設定為5,【File–Project Structure–Modules】
位元組碼版本會設定為1.5,【File–Setting–Build–Java Compiler】,後面會執行reload project後,IDEA會重置上面2個版本設定,需要重新檢查並設定!!!
如果上述版本不對,會報類似如下的錯誤
新增第三方庫相關的dependency到pom.xml檔案,可以到mvnrepository上下載
庫未下載時,程式碼會有紅色標記。
Maven自動下載的設定,這只是一部分設定,後續還有相關設定
Maven自動下載的設定,這是第二步,在settings.xml設定mirror
具體mirror內容可以參考下文
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<!--該映象的唯一識別符號。id用來區分不同的mirror元素。 -->
<id>planetmirror.com</id>
<!--映象名稱 -->
<name>aliyun</name>
<!--該映象的URL。構建系統會優先考慮使用該URL,而非使用預設的伺服器URL。 -->
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<!--被映象的伺服器的id。例如,如果我們要設定了一個Maven中央倉庫(http://repo1.maven.org/maven2)的映象,就需要將該元素設定成 central。這必須和中央倉庫的id central完全一致。-->
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
重要,設定好mirror後還需要reload project
如果出現下面錯誤,說明版本設定正確了,只是沒有正確設定setting.xml或還沒有reload project
正確完成後,則會如下圖,自動下載需要的第三方庫
程式碼也可以正確執行了,bingo!