Maven 初識

1、Maven簡介

Maven在美國口語中是專家、內行 的意思,是Apache下的一個純 Java 開發的開源項目。基於項目對象模型Project Object Model(縮寫:POM)概念,Maven利用一箇中央信息片段能管理一個項目的構建、報告和文檔等步驟。web

Maven是一個項目管理工具,它包含了一個項目對象模型 (POM:Project Object Model),一組標準集合,一個項目生命週期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來運行定義在生命週期階段(phase)中插件(plugin)目標(goal)的邏輯。app

因爲Maven是用Java開發的,所以Maven被更多的用於Java項目中,但也可使用其它工具來構建項目。webapp

2、Maven的功能

Maven 可以幫助開發者完成如下工做:工具

  • 構建
  • 測試
  • 文檔生成
  • 報告
  • 依賴
  • SCMs
  • 發佈
  • 分發
  • 郵件列表

3、約定配置

Maven 提倡使用一個共同的標準目錄結構,Maven 使用約定優於配置的原則,你們儘量的遵照這樣的目錄結構。以下所示: 測試

Maven目錄結構
注:若是不是webApp項目將不會存在webapp目錄,其他約定將在後文介紹。

4、Maven 特色

  • 項目設置遵循統一的規則。
  • 任意工程中共享。
  • 依賴管理包括自動更新。
  • 一個龐大且不斷增加的庫。
  • 可擴展,可以輕鬆編寫 Java 或腳本語言的插件。
  • 只需不多或不須要額外配置便可即時訪問新功能。
  • 基於模型的構建 − Maven可以將任意數量的項目構建到預約義的輸出類型中,如 JAR,WAR 或基於項目元數據的分發,而不須要在大多數狀況下執行任何腳本。
  • 項目信息的一致性站點 − 使用與構建過程相同的元數據,Maven 可以生成一個網站或PDF,包括您要添加的任何文檔,並添加到關於項目開發狀態的標準報告中。
  • 發佈管理和發佈發佈 − Maven 將不須要額外的配置,就能夠與源代碼管理系統(如 Subversion 或 Git)集成,並能夠基於某個標籤管理項目的發佈。它也能夠將其發佈到分發位置供其餘項目使用。Maven可以發佈單獨的輸出,如 JAR,包含其餘依賴和文檔的歸檔,或者做爲源代碼發佈。
  • 向後兼容性 − 您能夠很輕鬆的從舊版本 Maven 的多個模塊移植到 Maven 3 中。
  • 子項目使用父項目依賴時,正常狀況子項目應該繼承父項目依賴,無需使用版本號,
  • 並行構建 − 編譯的速度能廣泛提升20 - 50 %。
  • 更好的錯誤報告 − Maven 改進了錯誤報告,它爲您提供了 Maven wiki 頁面的連接,您能夠點擊連接查看錯誤的完整描述。
相關文章
相關標籤/搜索