如果你已經有十次輸入同樣的Ant targets來編譯你的代碼、jar或者war、生成javadocs,你一定會自問,是否有有一個重復性更少卻能同樣完成該工作的方法。Maven便提供了這樣一種選擇,將你的注意力從作業層轉移到項目管理層。Maven項目已經能夠知道如何構建和捆綁代碼,運行測試,生成文檔并宿主項目網頁。
O'Reilly's的新書Maven:A Developer's Notebook幫你提升你的項目、使其盡快的運行起來,同時也提供了對Maven插件及其團隊協作等高級特性的深度考察。在“Maven Jump-Start” (656K PDF)的示范章節中,作者Vincent Massol和Timothy M.O'Brien向你展示了如何安裝Maven,如何開始你初次的構建,研究如何使其與IDEs集成極其資源管等特性。
Vincent Massol是Jakarta Catus framework(框架)的創建者。其后他花費4年的時間在幾個大項目(主要是J2EE)的架構技術上。他現在是Pivolis的創辦人和CTO,這是一家專注于應用敏捷方法進行軟件開發的公司。他現在居住在法國的首都City of Light(巴黎)。
Timothy M. O'Brien作為一個專業的歌手/程序員現正在芝加哥地區工作和生活。

讓我們開始使用Maven。在本章結束時,你應該能夠從頭建立一個Maven的項目,使用Maven進行相關管理,創建基于某些感興趣報告的簡單的web站點。
安裝Maven 開始本書以前,你有一些必備的安裝工作。本書中的例子用Java1.4.2編寫,Maven能夠兼容Java1.4.2和Java1.5.0。本書中所寫Maven的最新版本是在編寫本書時發布的―Maven 1.0.2。除JDK和Maven1.0.2之外,你還需要連接到Internet,Maven將通過公網站點下載相關其需要的。那么,前進,安裝Maven吧。
我該如何做?
從Apache Software Foundation(ASF)下載Maven。進入http://
maven.apache.org/從左側的導航菜單中的Getting Maven菜單選擇下載。它將帶你進入一個讓你選擇Windows 安裝包、zip文件、tar'd.bzip文件或者tar'd.gzip文件。下載適合你平臺的分類。
我該如何做?
從Apache Software Foundation(ASF)下載Maven。進入http://
maven.apache.org/從左側的導航菜單中的Getting Maven菜單選擇下載。它將帶你進入一個讓你選擇Windows 安裝包、zip文件、tar'd.bzip文件或者tar'd.gzip文件。下載適合你平臺的分類。
提示
某些Developer's Notebook中涉及的插件未與Maven1.0.2綁定。請參考第6章并且附錄A有安裝Maven所需插件的全部列表以及詳細說明。
在Microsoft Windows平臺,下載Windows安裝包(
maven-1.0.2.exe),跟隨自動安裝過程中的提示。在使用Maven Windows 安裝器進行安裝后,你應該定義一個用戶環境變量,MAVEN_HOME,指向你本地的Maven安裝。你此時需要進入控制面版→系統→高級選擇環境變量按鈕,添加%MAVEN_HOME%\bin到你的PATH環境變量。進入命令提示行運行cmd.exe,如果Maven安裝成功,你將能夠看到命令行有下面的輸出:
C:\dev\
mavenbook\code>
maven -v
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0.2
如果你愿意安裝Maven到一個除了C:\Program Files\Apache Software Foundation\Maven 1.0.2的目錄,你也可以下載Maven1.0.2.zip文件,解壓縮到任何目錄。設置MAVEN_HOME指 向到Maven解壓縮的目錄,并且添加%MAVEN_HOME%\Bin到你的PATH環境變量。
在Unix平臺,下載tar'd.zip文件(Maven-1.0.2.tar.gz)并接壓縮tar xvzf
maven-1.0.2.tar.gz到你選擇的目錄。本試驗假設你解壓Maven到/usr/local/
maven-1.0.2目錄下。你此時需要設置兩個環境變量,MAVEN_HOME和PATH。下面的命令為這兩個變量設置適當的值:
[tobrien@
mavenbook tobrien]$ export MAVEN_HOME=/usr/local/
maven-1.0.2
[tobrien@
mavenbook tobrien]$ export PATH=${PATH}:${MAVEN_HOME}/bin
如果Maven被成功安裝到你的機器,你能夠看到與Windows系統同樣的輸出。恭喜!你已經成安裝了Maven。
提示
有些人喜歡保存本地應用程序在Unix下的/opt目錄或
Windows下的c:\apps。你可以根據個人喜好安裝Maven。
剛剛發生了什么?
你剛剛安裝了Maven1.0.2并且配置了一些環境變量。是的!一旦你對MAVEN_HOME進行了有效的設置或是
maven.bat或
關于......Maven 2?
是時機提及Maven 2(有時也被稱為“m2”)。Maven 2完成了對Maven 1的重寫。重寫的首要目的是要提供了強大的Jave構建和包含API的項目,允許Maven被植入任何地方,尤其是高級別的產品如IDEs、質量工具、報告工具等這些。Maven 2構建生命周期的概念正式話,其比Maven更易擴展。
Maven 1和Maven 2有許多共同點,但它們還有幾個主要的不同之處。在書中的各個部分我們盡可能提示你所希望了解的那些不同之處。更多關于Maven 2的信息,請轉到http://
maven.apache.org/下載Maven 2的體驗版本,并加入Maven用戶或開發者郵件列表。如果你聽過Continuous Integration,你可能也想看一看命名為Continuum的Maven子項目,地址在http://
maven.apache.org/continuum。
開始一個新的項目 創建新項目的爭論一部分在于有很大部分的工作努力被用到在“發展基礎設施”上―自動構建、單元測試、文檔、項目報告等。使用Maven你可以加速這個過程,生成項目的框架使其作為新應用的種子。
我該如何做?
Maven擁有一個應用程序生成插件(Genapp)你能通過其創建一個新項目。首先創建一個空的目錄c:\dev\
mavenbook\code\genapp\test-application這將成為應用程序生成后的處所。通過執行genapp這個目標來運行Genapp插件,選擇默認的模版并且提供一些你的新項目的相關信息。
C:\dev\
mavenbook\code\genapp\test-application>
maven genapp
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0.2
Attempting to download commons-jelly-tags-interaction-20030211.143817.jar.4K downloadedEnter a project template to use: [default][Enter]Please specify an id for your application:
[app]test-applicationPlease specify a name for your application: [Example Application]Test ApplicationPlease specify the package for your application: [example.app]mdn.testappbuild:start:genapp:
[copy] Copying 1 file to C:\dev\
mavenbook\code\genapp\test-application\src\java\mdn\testapp[copy] Copying 3 files to C:\dev\
mavenbook\code\genapp\test-application\src\test\mdn\testapp[copy] Copying 1 file to C:\dev\
mavenbook\code\genapp\test-application\[copy] Copying 2 files to C:\dev\
mavenbook\code\genapp\test-application\BUILD SUCCESSFUL
本插件會要求用戶一些輸入,從這個輸出內容你可以看到你使用了默認的(defalut)應用程序模板,并且你提供了新項目的應用程序ID、name,和包名。默認的(default)應用程序模板創建了一個單獨的類,mdn.testapp.app,和一個靜態main函數和兩個JUnit測試。
Maven的應用程序生成插件生成了下面的目錄和文件:
test-application/project.propertiesproject.
xmlsrc/conf/app.propertiesjava/mdn/testapp/App.javatest/mdn/testapp/AbstractTestCase.javaAppTest.javaNaughtyTest.java
所有Maven項目有一個參考了項目對象模型(POM)的標準目錄結構, (as described shortly)。如果你有一些現存的類你想添加到一個項目,添加它們到src/java,如果你有一些單元測試將它們添加到src/test。如果這些已有的類和單元測試依賴一些外部的苦,你將在隨后的章節看到如何添加一個附屬。xdos目錄包含了格式為XDoc的項目文檔。
提示
請注意Maven1.0.2裝載的Genapp插件版本創建了非標準的布局。在Maven項目中src/java和src/test不再出現在固有的源代碼和單元測試位置。取而代之的是你可以使用src/main/java和src/test/java.為了改變這些,修改你項目的
xml文件,改變src/java的引用為src/main-/java,src/test的引用為src/test/java.更多的信息,請參見“Maven Conventions”,地址在http://
maven.apache.org/-reference/conventions.html.
project.
xml是項目的描述符;它是一個內容為POM的XML文件。讓我們看看這個project.
xml的拷貝,其已經定義了這個項目:
<project>
<pomVersion>
3</pomVersion>
<artifactId>test-application
</artifactId><name>Test Application
</name><currentVersion>1.0
</currentVersion><organization>
<name>
Your Organization
</name>
<url>http://www.someorganization.biz/</url>
<logo>http://www.someorganization.biz/logo.gif|jpg|...</logo>
</organization><inceptionYear>2005</inceptionYear>
<package>mdn.testapp
</package>
<logo>http://yourproject/logo.jpg|gif|...
</logo><description>An example projec
請記住本文永久地址:
http://www.javaresource.org/maven/maven-73940.html或
Maven起步――教你開始使用Maven一(圖)Java資源網收集整理,轉載請保留出處.
posted on 2007-02-12 12:21
小石頭 閱讀(351)
評論(0) 編輯 收藏 所屬分類:
maven、ant