摘要:例如,可以提供更改日志用源碼管理工具生成交叉引用郵件列表依賴清單單元測(cè)試報(bào)告含覆蓋率提供開發(fā)過程的最佳實(shí)踐指南通過收集現(xiàn)行的開發(fā)最佳實(shí)踐,來指導(dǎo)用構(gòu)建的項(xiàng)目。
問題:Maven是啥?本文大約1026個(gè)字,閱讀時(shí)間4分鐘。 主要介紹了Maven名字的由來、Maven產(chǎn)生的背景和Maven的主要功能。
大多數(shù)人都用Maven來管理Java項(xiàng)目的依賴,這個(gè)應(yīng)該是Maven的主要功能沒跑了,不過我們還是帶著這個(gè)問題自己去探索吧!
名字由來:根據(jù)Maven官網(wǎng)的解釋,Maven這個(gè)單詞來自意第緒語,意為知識(shí)的積累者(accumulator of knowledge),Wikipedia上的解釋是:在特定領(lǐng)域極具權(quán)威并且樂于將知識(shí)分享、傳承給他人的專家。咳咳……老外給項(xiàng)目起名字就是有(ai)意(zhuang)思(bi)。
背景介紹:Maven當(dāng)初是為了簡(jiǎn)化Jakarta和Turbine兩個(gè)項(xiàng)目的構(gòu)建過程而誕生的。這些項(xiàng)目當(dāng)初有各自的Ant構(gòu)建文件并且還有共同使用的JAR文件被重復(fù)的提交到CVS上。因此Maven試圖將所有Java項(xiàng)目的構(gòu)建過程標(biāo)準(zhǔn)化;確保一個(gè)項(xiàng)目的組成部分有清晰明確的定義;可以方便的發(fā)布項(xiàng)目;可以共享多個(gè)項(xiàng)目用到的JAR文件。
它的目標(biāo):讓開發(fā)人員可以在較短的時(shí)間內(nèi)快速厘清項(xiàng)目結(jié)構(gòu),更快理解整個(gè)項(xiàng)目。為了達(dá)到這個(gè)目的,Maven從以下幾個(gè)方面入手:
簡(jiǎn)化項(xiàng)目構(gòu)建過程
提供統(tǒng)一的構(gòu)建系統(tǒng)
提供有效/高質(zhì)量的項(xiàng)目信息
提供開發(fā)過程的最佳實(shí)踐指南
透明遷移到新功能
目標(biāo)說明:簡(jiǎn)化項(xiàng)目構(gòu)建過程
雖然使用Maven進(jìn)行項(xiàng)目構(gòu)建時(shí),你還是需要對(duì)底層機(jī)制有所了解,但是Maven還是做了不少工作來對(duì)你隱藏這些繁瑣的細(xì)節(jié)。
提供統(tǒng)一的構(gòu)建系統(tǒng)
Maven是通過POM(Project Object Model)文件和一系列插件(Plugin)來構(gòu)建項(xiàng)目的。當(dāng)你熟悉了某一個(gè)用Maven構(gòu)建的項(xiàng)目,那么對(duì)于其他用Maven構(gòu)建的項(xiàng)目你也可以快速熟悉。
提供有效/高質(zhì)量的項(xiàng)目信息
Maven可以通過POM文件以及項(xiàng)目的源代碼來生成項(xiàng)目信息。例如,Maven可以提供:
更改日志(用源碼管理工具生成)
交叉引用
郵件列表
依賴清單
單元測(cè)試報(bào)告(含覆蓋率)
提供開發(fā)過程的最佳實(shí)踐指南
Maven通過收集現(xiàn)行的開發(fā)最佳實(shí)踐,來指導(dǎo)用Maven構(gòu)建的項(xiàng)目。例如:?jiǎn)卧獪y(cè)試是Maven構(gòu)建中的一個(gè)部分,Maven對(duì)單元測(cè)試應(yīng)用如下的最佳實(shí)踐:
把單元測(cè)試代碼和項(xiàng)目代碼分開,但是在平級(jí)的源碼樹中
使用測(cè)試用例命名約定來定位和執(zhí)行測(cè)試
讓測(cè)試用例來初始化測(cè)試環(huán)境而不是為測(cè)試構(gòu)建特定的版本
Maven還可以為項(xiàng)目的目錄結(jié)構(gòu)、發(fā)布管理、缺陷追蹤提供指導(dǎo)和幫助。
透明遷移到新功能
當(dāng)Maven/Maven插件更新時(shí),無須做改動(dòng)/較少改動(dòng),即可享受新功能
它不是……建站工具或文檔管理工具
可以下載依賴的Ant擴(kuò)展
一組可重用的Ant腳本
結(jié)語本文是百科百面系列的第一篇文章,也是Maven專題的第一篇文章,對(duì)于文章的形式、內(nèi)容或者技術(shù)專題有想法的朋友,歡迎留言~
下一篇文章將會(huì)帶大家一起安裝和體驗(yàn)Maven,下次見!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/70197.html
摘要:登錄網(wǎng)站,生成一個(gè)基本的應(yīng)用。將應(yīng)用導(dǎo)入并創(chuàng)建類。連接,執(zhí)行命令,查看可用的鏡像執(zhí)行命令,使用鏡像啟動(dòng)容器。至此,使用插件構(gòu)建鏡像并運(yùn)行容器完成,訪問路徑,獲得結(jié)果 1.登錄網(wǎng)站https://start.spring.io/,生成一個(gè)基本的SpringBoot應(yīng)用。 2.將應(yīng)用導(dǎo)入Eclipse IDE并創(chuàng)建Application類。目錄結(jié)構(gòu)如下: showImg(https://s...
摘要:登錄網(wǎng)站,生成一個(gè)基本的應(yīng)用。將應(yīng)用導(dǎo)入并創(chuàng)建類。連接,執(zhí)行命令,查看可用的鏡像執(zhí)行命令,使用鏡像啟動(dòng)容器。至此,使用插件構(gòu)建鏡像并運(yùn)行容器完成,訪問路徑,獲得結(jié)果 1.登錄網(wǎng)站https://start.spring.io/,生成一個(gè)基本的SpringBoot應(yīng)用。 2.將應(yīng)用導(dǎo)入Eclipse IDE并創(chuàng)建Application類。目錄結(jié)構(gòu)如下: showImg(https://s...
摘要:看看自己的項(xiàng)目的那些文件或者干脆連個(gè)建表語句都沒有的同學(xué)是否會(huì)有想法把他們管理起來呢向大家推薦一款非常輕量級(jí)的敏捷數(shù)據(jù)庫遷移框架。 showImg(http://segmentfault.com/img/bVbV7p); 看看自己的項(xiàng)目的那些SQL文件或者干脆連個(gè)建表語句都沒有的同學(xué)是否會(huì)有想法把他們管理起來呢?向大家推薦一款非常輕量級(jí)的敏捷數(shù)據(jù)庫遷移框架——Flyway。想知道她有什...
閱讀 1684·2021-09-26 09:55
閱讀 3713·2021-09-22 15:31
閱讀 7328·2021-09-22 15:12
閱讀 2209·2021-09-22 10:02
閱讀 4625·2021-09-04 16:40
閱讀 1031·2019-08-30 15:55
閱讀 3018·2019-08-30 12:56
閱讀 1813·2019-08-30 12:44