1. 簡(jiǎn)介
Maven是基于項(xiàng)目對(duì)象模型(POM),,可以通過(guò)一小段描述信息來(lái)管理項(xiàng)目的構(gòu)建,,報(bào)告和文檔的軟件項(xiàng)目管理工具.
如果你已經(jīng)有十次輸入同樣的Ant targets來(lái)編譯你的代碼、jar或者war,、生成javadocs,,你一定會(huì)自問(wèn),是否有一個(gè)重復(fù)性更少卻能同樣完成該工作的方 法,。 Maven便提供了這樣一種選擇,,將你的注意力從作業(yè)層轉(zhuǎn)移到項(xiàng)目管理層。Maven項(xiàng)目已經(jīng)能夠知道如何構(gòu)建和捆綁代碼,,運(yùn)行測(cè)試,,生成文檔并宿主項(xiàng)目網(wǎng)頁(yè)
2.核心價(jià)值
* 簡(jiǎn)單
Maven 暴露了一組一致、簡(jiǎn)介的操作接口,,能幫助團(tuán)隊(duì)成員從原來(lái)的高度自定義的,、復(fù)雜的構(gòu)建系統(tǒng)中解脫出來(lái),使用Maven現(xiàn)有的成熟的,、穩(wěn)定的組件也能簡(jiǎn) 化構(gòu)建系統(tǒng)的復(fù)雜度,。
* 交流與反饋
與版本控制系統(tǒng)結(jié)合后,多有人都能執(zhí)行最新的構(gòu)建并快速得到反饋,。此外,,自動(dòng)生成的項(xiàng)目報(bào)告也能幫助成員了解項(xiàng)目的狀態(tài),促進(jìn)團(tuán)隊(duì)的交流,。
* 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
TDD強(qiáng)調(diào)測(cè)試先行,,所有產(chǎn)品都應(yīng)該由測(cè)試用例覆蓋。而測(cè)試是maven生命周期的最重要組成部分之一,,并且Maven有現(xiàn)成的成熟插件支持業(yè)界流行的測(cè)試框架,,如Junit和TestNG。
* 快速構(gòu)建
只需要一些配置,,之后用一條簡(jiǎn)單的命令就能讓Maven幫你清理,、編譯、測(cè)試,、打包,、部署,然后得到最終產(chǎn)品,。[/size]
* 持續(xù)集成
更加方便的持續(xù)集成
* 富有信息的工作區(qū)
2.主要內(nèi)容
我將會(huì)發(fā)表一系列課程來(lái)講解Maven的應(yīng)用,,基于Maven3.0,主要內(nèi)容如下:
1)安裝和配置
2)Maven使用入門(mén)
3)坐標(biāo)和依賴(lài)
4)Maven倉(cāng)庫(kù)
5) 生命周期和插件
6)聚合與繼承
7)使用Nexus創(chuàng)建私服
8)使用Maven進(jìn)行測(cè)試
9)m2eclipse的使用
10)自動(dòng)部署maven項(xiàng)目
11)使用Hudson進(jìn)行持續(xù)集成
3. 安裝好JDK
以JDK1.5以上為例
4. Maven 的下載 下載地址:http://maven./download.html
5.Maven安裝
將下載到的文件解壓到指定目錄即可,,如:C:\maven\apache-maven-3.0.4
6.環(huán)境變量的配置
在系統(tǒng)環(huán)境變量中新增如下環(huán)境變量 M2_HOME: Maven的安裝目錄,,如:C:\maven\apache-maven-3.0.4 M2: %M2_HOME%\bin 并在path中添加%M2%,這樣便可以在任何路徑中執(zhí)行mvn命令
7. 檢測(cè)安裝是否成功
Cmd窗口執(zhí)行命令:mvn –v
得到如下圖所示結(jié)果:
8.設(shè)置代理
有時(shí)候你所在的公司基于安全因素考慮,,要求你使用通過(guò)安全認(rèn)證的代理訪(fǎng)問(wèn)因特網(wǎng),。這時(shí)就需要為Maven配置HTTP代理。
在目錄~/.m2/setting.xml文件中編輯如下(如果沒(méi)有該文件,,則復(fù)制$M2_HOME/conf/setting.xml):
- <proxies>
- <proxy>
- <id>optional</id>
- <active>true</active>
- <protocol>http</protocol>
- <username>proxyuser</username>
- <password>proxypass</password>
- <host>proxy.host.net</host>
- <port>80</port>
- <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
- </proxy>
- </proxies>
|