Maven生命週期簡單概述

Mavan最主要的命令:mvn clean compile、mvn clean test、mvn clean package、mvn clean install。執行test之前,先執行compile、執行package之前先執行test、執行install之前先執行package,這就涉及到一個概念:Maven生命週期

compile-test-package-install

編譯、測試、打包、部署

在Maven中有三套獨立的生命週期:

  • 1、Clean Lifecycle(清理):在進行真正的構建之前進行一些清理工作
  • 2、Default Lifecycle(默認)):構建的核心部分,編譯、測試、打包、部署
  • 這一生命週期裏主要包括這些事(不完整):
    • 驗證(validate) - 驗證項目是否正確,所有必要的信息可用
    • 編譯(compile) - 編譯項目的源代碼
    • 測試(test) - 使用合適的單元測試框架測試編譯的源代碼。這些測試不應該要求代碼被打包或部署
    • 打包(package) - 採用編譯的代碼,並以其可分配格式(如JAR)進行打包。
    • 驗證(verify) - 對集成測試的結果執行任何檢查,以確保滿足質量標準
    • 安裝(install) - 將軟件包安裝到本地存儲庫中,用作本地其他項目的依賴項
    • 部署(deploy) - 在構建環境中完成,將最終的包複製到遠程存儲庫以與其他開發人員和項目共享
    • 任何一個階段的時候,它前面的所有階段都會被運行

      ,這也就是爲什麼我們運行mvn clean install的時候,代碼會被編譯、測試、打包。

      此外,Maven的插件機制是完全依賴Maven生命週期的,因此理解生命週期至關重要。

       Maven的生命週期是抽象的,實際需要插件來完成任務,這一過程是通過將插件的目標(goal)綁定到生命週期的具體階段(phase)來完成的。如:將maven-compiler-plugin插件的compile目標綁定到default生命週期的compile階段,完成項目的源代碼編譯:
  • 3、Site Lifecycle(站點):生成項目報告、生成站點、發佈站點

發佈了27 篇原創文章 · 獲贊 48 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章