Maven——Maven概述
Maven概述
Maven是意第緒語(yǔ),意為知識(shí)的積累,最初是為了簡(jiǎn)化Jakarta Turbine項(xiàng)目中的構(gòu)建過(guò)程。有幾個(gè)項(xiàng)目,每個(gè)項(xiàng)目都有自己的Ant構(gòu)建文件,所有項(xiàng)目都略有不同。JAR已檢入CVS。我們想要一種標(biāo)準(zhǔn)的方式來(lái)構(gòu)建項(xiàng)目,明確定義項(xiàng)目的組成部分,一種簡(jiǎn)便的方法來(lái)發(fā)布項(xiàng)目信息,以及一種在多個(gè)項(xiàng)目中共享JAR的方法。
結(jié)果是一個(gè)可以用于構(gòu)建和管理任何基于Java的項(xiàng)目的工具。我們希望我們已經(jīng)創(chuàng)建了一些東西,可以使Java開發(fā)人員的日常工作變得更加輕松,并且通常有助于理解任何基于Java的項(xiàng)目。
官方網(wǎng)站
Apache Maven Project:http://maven.apache.org/
國(guó)內(nèi)下載鏡像:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/
Maven的目標(biāo)
Maven的主要目標(biāo)是使開發(fā)人員能夠在最短的時(shí)間內(nèi)理解開發(fā)工作的完整狀態(tài)。為了實(shí)現(xiàn)此目標(biāo),Maven嘗試處理幾個(gè)令人關(guān)注的領(lǐng)域:
- 簡(jiǎn)化構(gòu)建過(guò)程
- 提供統(tǒng)一的構(gòu)建系統(tǒng)
- 提供優(yōu)質(zhì)的項(xiàng)目信息
- 提供最佳實(shí)踐開發(fā)指南
- 允許透明遷移到新功能
Maven 特點(diǎn)
- 項(xiàng)目設(shè)置遵循統(tǒng)一的規(guī)則。
- 任意工程中共享。
- 依賴管理包括自動(dòng)更新。
- 一個(gè)龐大且不斷增長(zhǎng)的庫(kù)。
- 可擴(kuò)展,能夠輕松編寫 Java 或腳本語(yǔ)言的插件。
- 只需很少或不需要額外配置即可即時(shí)訪問(wèn)新功能。
- 基于模型的構(gòu)建?? Maven能夠?qū)⑷我鈹?shù)量的項(xiàng)目構(gòu)建到預(yù)定義的輸出類型中,如 JAR,WAR 或基于項(xiàng)目元數(shù)據(jù)的分發(fā),而不需要在大多數(shù)情況下執(zhí)行任何腳本。
- 項(xiàng)目信息的一致性站點(diǎn)?? 使用與構(gòu)建過(guò)程相同的元數(shù)據(jù),Maven 能夠生成一個(gè)網(wǎng)站或PDF,包括您要添加的任何文檔,并添加到關(guān)于項(xiàng)目開發(fā)狀態(tài)的標(biāo)準(zhǔn)報(bào)告中。
- 發(fā)布管理和發(fā)布單獨(dú)的輸出?? Maven 將不需要額外的配置,就可以與源代碼管理系統(tǒng)(如 Subversion 或 Git)集成,并可以基于某個(gè)標(biāo)簽管理項(xiàng)目的發(fā)布。它也可以將其發(fā)布到分發(fā)位置供其他項(xiàng)目使用。Maven 能夠發(fā)布單獨(dú)的輸出,如 JAR,包含其他依賴和文檔的歸檔,或者作為源代碼發(fā)布。
- 向后兼容性?? 您可以很輕松的從舊版本 Maven 的多個(gè)模塊移植到 Maven 3 中。
- 子項(xiàng)目使用父項(xiàng)目依賴時(shí),正常情況子項(xiàng)目應(yīng)該繼承父項(xiàng)目依賴,無(wú)需使用版本號(hào),
- 并行構(gòu)建?? 編譯的速度能普遍提高20 - 50 %。
- 更好的錯(cuò)誤報(bào)告?? Maven 改進(jìn)了錯(cuò)誤報(bào)告,它為您提供了 Maven wiki 頁(yè)面的鏈接,您可以點(diǎn)擊鏈接查看錯(cuò)誤的完整描述。
?
?
參考文章
http://maven.apache.org/what-is-maven.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Maven——Maven概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JAVA——赫夫曼编码-译码器(Huff
- 下一篇: JAVA——Scanner读取文件