天天看點

Maven 教程

Maven 教程

Maven 翻譯為"專家"、"内行",是 Apache 下的一個純 Java 開發的開源項目。基于項目對象模型(縮寫:POM)概念,Maven利用一個中央資訊片斷能管理一個項目的建構、報告和文檔等步驟。

Maven 是一個項目管理工具,可以對 Java 項目進行建構、依賴管理。

Maven 也可被用于建構和管理各種項目,例如 C#,Ruby,Scala 和其他語言編寫的項目。Maven 曾是 Jakarta 項目的子項目,現為由 Apache 軟體基金會主持的獨立 Apache 項目。

本教程主要針對初學者,幫助他們學習 Maven 工具的基本功能。完成本教程的學習後你的 Apache Maven 的專業知識将達到中等水準,随後你可以學習更進階的知識了。

閱讀本教程,您需要有以下基礎:Java 基礎。

Maven 能夠幫助開發者完成以下工作:

建構

文檔生成

報告

依賴

SCMs

釋出

分發

郵件清單

Maven 提倡使用一個共同的标準目錄結構,Maven 使用約定優于配置的原則,大家盡可能的遵守這樣的目錄結構。如下所示:

目錄

目的

${basedir}

存放pom.xml和所有的子目錄

${basedir}/src/main/java

項目的java源代碼

${basedir}/src/main/resources

項目的資源,比如說property檔案,springmvc.xml

${basedir}/src/test/java

項目的測試類,比如說Junit代碼

${basedir}/src/test/resources

測試用的資源

${basedir}/src/main/webapp/WEB-INF

web應用檔案目錄,web項目的資訊,比如存放web.xml、本地圖檔、jsp視圖頁面

${basedir}/target

打包輸出目錄

${basedir}/target/classes

編譯輸出目錄

${basedir}/target/test-classes

測試編譯輸出目錄

Test.java

Maven隻會自動運作符合該命名規則的測試類

~/.m2/repository

Maven預設的本地倉庫目錄位置

項目設定遵循統一的規則。

任意工程中共享。

依賴管理包括自動更新。

一個龐大且不斷增長的庫。

可擴充,能夠輕松編寫 Java 或腳本語言的插件。

隻需很少或不需要額外配置即可即時通路新功能。

<b>基于模型的建構</b> − Maven能夠将任意數量的項目建構到預定義的輸出類型中,如 JAR,WAR 或基于項目中繼資料的分發,而不需要在大多數情況下執行任何腳本。

<b>項目資訊的一緻性站點</b> − 使用與建構過程相同的中繼資料,Maven 能夠生成一個網站或PDF,包括您要添加的任何文檔,并添加到關于項目開發狀态的标準報告中。

<b>釋出管理和釋出單獨的輸出</b> − Maven 将不需要額外的配置,就可以與源代碼管理系統(如 Subversion 或 Git)內建,并可以基于某個标簽管理項目的釋出。它也可以将其釋出到分發位置供其他項目使用。Maven 能夠釋出單獨的輸出,如 JAR,包含其他依賴和文檔的歸檔,或者作為源代碼釋出。

<b>向後相容性</b> − 您可以很輕松的從舊版本 Maven 的多個子產品移植到 Maven 3 中。

子項目使用父項目依賴時,正常情況子項目應該繼承父項目依賴,無需使用版本号,

<b>并行建構</b> − 編譯的速度能普遍提高20 - 50 %。

<b>更好的錯誤報告</b> − Maven 改進了錯誤報告,它為您提供了 Maven wiki 頁面的連結,您可以點選連結檢視錯誤的完整描述。

下一篇: test