Maven 是一個基於 Project Object Model(POM)的專案管理和構建工具,主要用於 Java 專案。
Runoob 教程
廖雪峰的官方網站
C語言中文網
Maven 透過 lifecycle
(生命週期)、phase
(階段)和 goal
來提供標準的構建流程。
最常用的構建命令是指定 phase
,然後讓 Maven 執行到指定的 phase
:
mvn clean # 清理 Maven 的輸出目錄
mvn clean compile # 編譯程式碼到輸出目錄
mvn clean test # 執行測試用例
mvn clean package # 建立專案 jar/war 包,最常用的命令
通常情況,我們總是執行 phase
預設繫結的 goal
,因此不必指定 goal
。
實際上,執行每個 phase
,都是透過某個外掛(plugin)來執行的。比如說,Maven 本身其實並不知道如何執行 compile
,它只是負責找到對應的 compiler
外掛,然後執行預設的 compiler:compile
這個 goal
來完成編譯。所以,使用 Maven,實際上就是配置好需要使用的外掛,然後透過 phase
呼叫它們。
參考:Maven 外掛繫結
建立 Java 專案:
mvn archetype:generate
# 或者在命令中直接提供專案引數
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
參考:Maven 使用 Archetype(原型)外掛構建 Java 專案