Maven學習筆記001——認識Maven

 

Maven是開源、跨平臺(Windows\Linux\Mac)主要服務於基於Java平臺的自動化項目構建、依賴管理、報告和文檔的軟件項目管理工具

項目構建(Build)包括:項目的清理、編譯、測試、生成文檔、打包和部署的過程。Maven最大化地消除了構建的重複,抽象了構建生命週期,並且爲絕大部分的構建任務提供了已實現的插件。

依賴管理(Dependency Management):Maven通過座標有序系統管理第三方構件(artifact)、類庫(Jar文件)。Maven爲全世界的Java開發者提供了一個免費的中央倉庫,在其中幾乎可以找到任何的流行的開源類庫。只要定位了座標,Maven就能夠幫我們自動下載。

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

Maven能夠很方便的幫你管理項目報告(項目描述、開發者列表、版本控制系統地址、許可證、缺陷管理系統地址等),測試報告靜態分析報告源碼版本日誌報告生成站點管理JAR文件。

      無論是小型的開源類庫項目,還是大型的企業級應用;無論是傳統的瀑布式開發,還是流行的敏捷模式,maven都能大顯身手。

 



Maven

Ant

標準構建文件

project.xml 和 maven.xml

build.xml

特性處理順序

1.${maven.home}/bin/driver.properties

2.${project.home}/project.properties

3.${project.home}/build.properties

4.${user.home}/build.properties

5.通過 -D命令行選項定義的系統特性

最後一個定義起決定作用。

1.通過 -D命令行選項定義的系統特性

2.由 任務裝入的特性

第一個定義最先被處理。

構建規則

構建規則更爲動態(類似於編程語言);它們是基於 Jelly 的可執行 XML。

構建規則或多或少是靜態的,除非使用<script>任務

擴展語言
  

插件是用 Jelly(XML)編寫的。

插件是用 Java 語言編寫的。

構建規則可擴展性

通過定義 <preGoal> 和 <postGoal> 使構建 goal 可擴展。

構建規則不易擴展;可通過使用 <script> 任務模擬 <preGoal> 和 <postGoal> 所起的作用。

 

Maven的書籍《Maven實戰作     許曉斌 著

本書代碼:http://www.juvenxu.com

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章