如果你已經有十次輸入同樣的Ant targets來編譯你的代碼
jar或者war
生成javadocs
你一定會自問
是否有有一個重復性更少卻能同樣完成該工作的方法
Maven便提供了這樣一種選擇
將你的注意力從作業層轉移到項目管理層
Maven項目已經能夠知道如何構建和捆綁代碼
運行測試
生成文檔並宿主項目網頁
O
Reilly
s的新書Maven:A Developer
s Notebook幫你提升你的項目
使其盡快的運行起來
同時也提供了對Maven插件及其團隊協作等高級特性的深度考察
在
Maven Jump
Start
(
K PDF)的示范章節中
作者Vincent Massol和Timothy M
O
Brien向你展示了如何安裝Maven
如何開始你初次的構建
研究如何使其與IDEs集成極其資源管等特性
Vincent Massol是Jakarta Catus framework(框架)的創建者
其後他花費
年的時間在幾個大項目(主要是J
EE)的架構技術上
他現在是Pivolis的創辦人和CTO
這是一家專注於應用敏捷方法進行軟件開發的公司
他現在居住在法國的首都City of Light(巴黎)
Timothy M
O
Brien作為一個專業的歌手/程序員現正在芝加哥地區工作和生活
讓我們開始使用Maven
在本章結束時
你應該能夠從頭建立一個Maven的項目
使用Maven進行相關管理
創建基於某些感興趣報告的簡單的web站點
安裝Maven 開始本書以前
你有一些必備的安裝工作
本書中的例子用Java
編寫
Maven能夠兼容Java
和Java
本書中所寫Maven的最新版本是在編寫本書時發布的—Maven
除JDK和Maven
之外
你還需要連接到Internet
Maven將通過公網站點下載相關其需要的
那麼
前進
安裝Maven吧
我該如何做?
從Apache Software Foundation(ASF)下載Maven
進入從左側的導航菜單中的Getting Maven菜單選擇下載
它將帶你進入一個讓你選擇Windows 安裝包
zip文件
tar
d
bzip文件或者tar
d
gzip文件
下載適合你平台的分類
我該如何做?
從Apache Software Foundation(ASF)下載Maven
進入從左側的導航菜單中的Getting Maven菜單選擇下載
它將帶你進入一個讓你選擇Windows 安裝包
zip文件
tar
d
bzip文件或者tar
d
gzip文件
下載適合你平台的分類
提示
某些Developer
s Notebook中涉及的插件未與Maven
綁定
請參考第
章並且附錄A有安裝Maven所需插件的全部列表以及詳細說明
在Microsoft Windows平台
下載Windows安裝包(maven
exe)
跟隨自動安裝過程中的提示
在使用Maven Windows 安裝器進行安裝後
你應該定義一個用戶環境變量
MAVEN_HOME
指向你本地的Maven安裝
你此時需要進入控制面版→系統→高級選擇環境變量按鈕
添加%MAVEN_HOME%\bin到你的PATH環境變量
進入命令提示行運行cmd
exe
如果Maven安裝成功
你將能夠看到命令行有下面的輸出
C:\dev\mavenbook\code>maven
v
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V /
_)
\ ~ intelligent projects ~
|_| |_\__
_|\_/\___|_||_| v
如果你願意安裝Maven到一個除了C:\Program Files\Apache Software Foundation\Maven
的目錄
你也可以下載Maven
zip文件
解壓縮到任何目錄
設置MAVEN_HOME指 向到Maven解壓縮的目錄
並且添加%MAVEN_HOME%\Bin到你的PATH環境變量
在Unix平台
下載tar
d
zip文件(Maven
tar
gz)並接壓縮tar xvzf maven
tar
gz到你選擇的目錄
本試驗假設你解壓Maven到/usr/local/maven
目錄下
你此時需要設置兩個環境變量
MAVEN_HOME和PATH
下面的命令為這兩個變量設置適當的值
[tobrien@mavenbook tobrien]$ export MAVEN_HOME=/usr/local/maven
[tobrien@mavenbook tobrien]$ export PATH=${PATH}:${MAVEN_HOME}/bin
如果Maven被成功安裝到你的機器
你能夠看到與Windows系統同樣的輸出
恭喜!你已經成安裝了Maven
提示
有些人喜歡保存本地應用程序在Unix下的/opt目錄或
Windows下的c:\apps
你可以根據個人喜好安裝Maven
剛剛發生了什麼?
你剛剛安裝了Maven
並且配置了一些環境變量
是的!一旦你對MAVEN_HOME進行了有效的設置或是maven
bat或maven
sh已經存在
你已經能夠完成Developer
s Notebook本次的實驗
關於
Maven
?
是時機提及Maven
(有時也被稱為
m
)
Maven
完成了對Maven
的重寫
重寫的首要目的是要提供了強大的Jave構建和包含API的項目
允許Maven被植入任何地方
尤其是高級別的產品如IDEs
質量工具
報告工具等這些
Maven
構建生命周期的概念正式話
其比Maven更易擴展
Maven
和Maven
有許多共同點
但它們還有幾個主要的不同之處
在書中的各個部分我們盡可能提示你所希望了解的那些不同之處
更多關於Maven
的信息
請轉到下載Maven
的體驗版本
並加入Maven用戶或開發者郵件列表
如果你聽過Continuous Integration
你可能也想看一看命名為Continuum的Maven子項目
地址在
開始一個新的項目 創建新項目的爭論一部分在於有很大部分的工作努力被用到在
發展基礎設施
上—自動構建
單元測試
文檔
項目報告等
使用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
Attempting to download commons
jelly
tags
interaction
jar
K 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
file to C:\dev\mavenbook\code\genapp\test
application\src\java\mdn\testapp[copy] Copying
files to C:\dev\mavenbook\code\genapp\test
application\src\test\mdn\testapp[copy] Copying
file to C:\dev\mavenbook\code\genapp\test
application\[copy] Copying
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的項目文檔
提示
請注意Maven
裝載的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
地址在
reference/l
project
xml是項目的描述符
它是一個內容為POM的XML文件
讓我們看看這個project
xml的拷貝
其已經定義了這個項目
<project>
<pomVersion>
</pomVersion>
<artifactId>test
application
</artifactId><name>Test Application
</name><currentVersion>
</currentVersion><organization>
<name>
Your Organization
</name>
<url>;/url>
<logo>|jpg|
</logo>
</organization><inceptionYear>
</inceptionYear>
<package>mdn
testapp
</package>
<logo>|gif|
</logo><description>An example projec
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28765.html