maven基礎(chǔ)教程——簡(jiǎn)單了解maven的特點(diǎn)與功能
Maven 翻譯為"專(zhuān)家"、"內(nèi)行",是 Apache 下的一個(gè)純 Java 開(kāi)發(fā)的開(kāi)源項(xiàng)目。基于項(xiàng)目對(duì)象模型(縮寫(xiě):POM)概念,Maven利用一個(gè)中央信息片斷能管理一個(gè)項(xiàng)目的構(gòu)建、報(bào)告和文檔等步驟。
Maven 是一個(gè)項(xiàng)目管理工具,可以對(duì) Java 項(xiàng)目進(jìn)行構(gòu)建、依賴(lài)管理。
Maven 也可被用于構(gòu)建和管理各種項(xiàng)目,例如 C#,Ruby,Scala 和其他語(yǔ)言編寫(xiě)的項(xiàng)目。Maven 曾是 Jakarta 項(xiàng)目的子項(xiàng)目,現(xiàn)為由 Apache 軟件基金會(huì)主持的獨(dú)立 Apache 項(xiàng)目。
閱讀本教程前,您需要了解的知識(shí)
本教程主要針對(duì)初學(xué)者,幫助他們學(xué)習(xí) Maven 工具的基本功能。完成本教程的學(xué)習(xí)后你的 Apache Maven 的專(zhuān)業(yè)知識(shí)將達(dá)到中等水平,隨后你可以學(xué)習(xí)更高級(jí)的知識(shí)了。
Maven 功能
- Maven 能夠幫助開(kāi)發(fā)者完成以下工作:
- 構(gòu)建
- 文檔生成
- 報(bào)告
- 依賴(lài)
- SCMs
- 發(fā)布
- 分發(fā)
- 郵件列表
- 約定配置
Maven 提倡使用一個(gè)共同的標(biāo)準(zhǔn)目錄結(jié)構(gòu),Maven 使用約定優(yōu)于配置的原則,大家盡可能的遵守這樣的目錄結(jié)構(gòu)。如下所示:
| 目錄 | 母的 |
| ${basedir} | 存放pom.xml和所有的子目錄 |
| ${basedir}/src/main/java | 項(xiàng)目的java源代碼 |
| ${basedir}/src/main/resources | 項(xiàng)目的資源,比如說(shuō)property文件,springmvc.xml |
| ${basedir}/src/test/java | 項(xiàng)目的測(cè)試類(lèi),比如說(shuō)Junit代碼 |
| ${basedir}/src/test/resources | 測(cè)試用的資源 |
| ${basedir}/src/main/webapp/WEB-INF | web應(yīng)用文件目錄,web項(xiàng)目的信息,比如存放web.xml、本地圖片、jsp視圖頁(yè)面 |
| ${basedir}/target | 打包輸出目錄 |
| ${basedir}/target/classes | 編譯輸出目錄 |
| ${basedir}/target/test-classes | 測(cè)試編譯輸出目錄 |
| Test.java | Maven只會(huì)自動(dòng)運(yùn)行符合該命名規(guī)則的測(cè)試類(lèi) |
| ~/.m2/repository | Maven默認(rèn)的本地倉(cāng)庫(kù)目錄位置 |
Maven 特點(diǎn)
- 項(xiàng)目設(shè)置遵循統(tǒng)一的規(guī)則。
- 任意工程中共享。
- 依賴(lài)管理包括自動(dòng)更新。
- 一個(gè)龐大且不斷增長(zhǎng)的庫(kù)。
- 可擴(kuò)展,能夠輕松編寫(xiě) Java 或腳本語(yǔ)言的插件。
- 只需很少或不需要額外配置即可即時(shí)訪(fǎng)問(wèn)新功能。
- 基于模型的構(gòu)建 − Maven能夠?qū)⑷我鈹?shù)量的項(xiàng)目構(gòu)建到預(yù)定義的輸出類(lèi)型中,如 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)目開(kāi)發(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,包含其他依賴(lài)和文檔的歸檔,或者作為源代碼發(fā)布。
- 向后兼容性 − 您可以很輕松的從舊版本 Maven 的多個(gè)模塊移植到 Maven 3 中。
- 子項(xiàng)目使用父項(xiàng)目依賴(lài)時(shí),正常情況子項(xiàng)目應(yīng)該繼承父項(xiàng)目依賴(lài),無(wú)需使用版本號(hào),
- 并行構(gòu)建 − 編譯的速度能普遍提高20 - 50 %。
- 更好的錯(cuò)誤報(bào)告 − Maven 改進(jìn)了錯(cuò)誤報(bào)告,它為您提供了 Maven wiki 頁(yè)面的鏈接,您可以點(diǎn)擊鏈接查看錯(cuò)誤的完整描述。
以上就是maven基礎(chǔ)教程——簡(jiǎn)單了解maven的特點(diǎn)與功能的詳細(xì)內(nèi)容,更多關(guān)于Maven特點(diǎn)和功能的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java實(shí)現(xiàn)飯店點(diǎn)菜系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)飯店點(diǎn)菜系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
spring + shiro + cas 實(shí)現(xiàn)sso單點(diǎn)登錄的示例代碼
本篇文章主要介紹了spring + shiro + cas 實(shí)現(xiàn)sso單點(diǎn)登錄的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09
SpringBoot項(xiàng)目中引入本地JAR包配置的幾種方法
SpringBoot有時(shí)需要引入本地JAR包以便重用已有的代碼庫(kù)或者第三方庫(kù),本文主要介紹了SpringBoot項(xiàng)目中引入本地JAR包配置的幾種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08
解決mybatis-plus通用mapper調(diào)用報(bào)錯(cuò):Invalid bound statement
這篇文章主要介紹了解決mybatis-plus通用mapper調(diào)用報(bào)錯(cuò):Invalid bound statement的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
spring源碼閱讀--aop實(shí)現(xiàn)原理講解
這篇文章主要介紹了spring源碼閱讀--aop實(shí)現(xiàn)原理講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
解決Maven靜態(tài)資源過(guò)濾問(wèn)題
在我們使用Maven構(gòu)建項(xiàng)目的時(shí)候,會(huì)默認(rèn)過(guò)濾掉靜態(tài)資源,所以,需要手動(dòng)來(lái)配置,本文就介紹一下Maven靜態(tài)資源過(guò)濾的問(wèn)題解決,感興趣的可以了解一下2021-06-06
Spring Boot 實(shí)現(xiàn)敏感詞及特殊字符過(guò)濾處理
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)敏感詞及特殊字符過(guò)濾處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
Spring動(dòng)態(tài)加載bean后調(diào)用實(shí)現(xiàn)方法解析
這篇文章主要介紹了Spring動(dòng)態(tài)加載bean后調(diào)用實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08

