1、Maven 是什么?

Maven 是一個(gè)可以用于構(gòu)建和管理任何基于 Java 的項(xiàng)目的工具,主要目標(biāo)是讓開(kāi)發(fā)人員在最短的時(shí)間內(nèi)了解開(kāi)發(fā)工作的完整狀態(tài)。
Maven 的優(yōu)點(diǎn)如下:
簡(jiǎn)化構(gòu)建過(guò)程
提供統(tǒng)一的構(gòu)建系統(tǒng)
提供優(yōu)質(zhì)的項(xiàng)目信息
提供最佳實(shí)踐開(kāi)發(fā)指南
允許透明遷移到新功能
1、簡(jiǎn)化構(gòu)建過(guò)程
雖然使用 Maven 時(shí)偶爾也需要你對(duì)底層細(xì)節(jié)有所了解!但是,Maven 確實(shí)屏蔽了很多細(xì)節(jié),它已經(jīng)大大簡(jiǎn)化了開(kāi)發(fā)人員的工作。
2、提供統(tǒng)一的構(gòu)建系統(tǒng)
Maven 使用項(xiàng)目對(duì)象模型(POM)和一組所有項(xiàng)目共享的插件來(lái)構(gòu)建項(xiàng)目,從而提供統(tǒng)一的構(gòu)建系統(tǒng)。開(kāi)發(fā)人員使用 Maven 構(gòu)建項(xiàng)目的話,后期維護(hù)項(xiàng)目會(huì)節(jié)省大量時(shí)間。
3、提供優(yōu)質(zhì)的項(xiàng)目信息
Maven 提供了大量有用的項(xiàng)目信息,這些信息部分來(lái)自您的POM,部分來(lái)自項(xiàng)目源。例如,Maven可以提供:
更改從源代碼控制直接創(chuàng)建的日志文檔
交叉引用的來(lái)源
郵件列表
依賴(lài)列表
單元測(cè)試報(bào)告包括報(bào)道
由于 Maven 改進(jìn)了提供的信息,所有這些信息對(duì) Maven 用戶都是透明的。
通過(guò) Maven 插件,其他產(chǎn)品可以將自己的項(xiàng)目信息兼容 Maven 的標(biāo)準(zhǔn)信息,所有信息同樣基于POM。
4、提供最佳開(kāi)發(fā)實(shí)踐指南
Maven 會(huì)匯總當(dāng)前最佳開(kāi)發(fā)實(shí)踐的原則,并通過(guò) Maven 影響其他項(xiàng)目。
例如,Maven 的正常構(gòu)建周期中的單元測(cè)試的規(guī)范,執(zhí)行和報(bào)告。
當(dāng)前的單元測(cè)試最佳實(shí)踐被用作指導(dǎo)原則:
將測(cè)試源代碼保存在獨(dú)立的、并行的源代碼樹(shù)中;
規(guī)范測(cè)試用例命名,便于來(lái)定位和執(zhí)行測(cè)試;
為測(cè)試用例設(shè)置的環(huán)境,不依賴(lài)與客戶化的定制構(gòu)建和測(cè)試準(zhǔn)備。
Maven還旨在工作流程中協(xié)助項(xiàng)目開(kāi)發(fā),如發(fā)布管理和問(wèn)題跟蹤。
5、允許透明遷移到新功能
Maven 為 Maven 客戶端提供了一種安裝更新的簡(jiǎn)單方法,開(kāi)發(fā)人員可以簡(jiǎn)單便捷的利用 Maven 的最新特性。
從第三方或 Maven 安裝新的插件變得非常的簡(jiǎn)單。
總之,Maven 為我們屏蔽了很多細(xì)節(jié)。有了 Maven 開(kāi)發(fā)人員的工作就沒(méi)有那么艱難和繁瑣了(當(dāng)然了,加班狗們還得繼續(xù)加~~ 只是加班狗們?cè)僖膊挥眠吋影噙吜R娘了~~)!