自動(dòng)化構(gòu)建工具M(jìn)aven:專注服務(wù)Java平臺(tái)項(xiàng)目構(gòu)建
軟件是一個(gè)工程
我們?cè)谌粘I畛D苈牭焦こ踢@個(gè)詞,像橋梁工程、道路工程、南水北調(diào)工程等等。
工程說(shuō)簡(jiǎn)單點(diǎn)就是各個(gè)行業(yè)的從業(yè)人員通過(guò)總結(jié)規(guī)律或者方法,以最短的時(shí)間和人力、物力來(lái)做出高效可靠的東西。我們也就能理解橋梁工程,其實(shí)就是人們通過(guò)經(jīng)驗(yàn)的總結(jié)和各種研究得出來(lái)的、用來(lái)修建橋梁時(shí)所采用的高效的方法,當(dāng)然這種方法是可復(fù)用的。我們將這種作工程的思想應(yīng)用到軟件上,于是就產(chǎn)生了—軟件工程。
軟件工程:為了能夠?qū)崿F(xiàn)軟件的流水線式生產(chǎn),在設(shè)計(jì)和構(gòu)建軟件時(shí)能夠有一種規(guī)范和工程化的方法,人們便提出了軟件工程概念。
Maven是Apache軟件基金會(huì)組織維護(hù)的一款自動(dòng)化構(gòu)建工具,專注服務(wù)于Java平臺(tái)的項(xiàng)目構(gòu)建和依賴管理。Maven這個(gè)單詞的本意是:專家,內(nèi)行,讀音是['me?v(?)n]或['mevn]。
Maven 是目前最流行的自動(dòng)化構(gòu)建工具,對(duì)于生產(chǎn)環(huán)境下多框架、多模塊整合開發(fā)有重要作用,Maven 是一款在大型項(xiàng)目開發(fā)過(guò)程中不可或缺的重要工具,Maven通過(guò)一小段描述信息可以整合多個(gè)項(xiàng)目之間的引用關(guān)系,提供規(guī)范的管理各個(gè)常用jar包及其各個(gè)版本,并且可以自動(dòng)下載和引入項(xiàng)目中。
上面的內(nèi)容做個(gè)日常生活的類比,做道菜就是一個(gè)工程。今天心情好,想吃紅燒肉,自動(dòng)動(dòng)手做:
1想買什么豬的那個(gè)位置的肉,黑豬肉,土豬肉等,使用冰糖還是綿白糖,用什么牌子的醬油等
到菜市場(chǎng)購(gòu)買各種原料。
準(zhǔn)備材料,洗肉,切塊,花椒,大料等
開始做了,肉下鍋燉煮,不同時(shí)間加入花椒,大料,冰糖,醬油
燉煮一段時(shí)間后,看肉是否熟透,嘗試口味,是不是咸了等等
做好了,開始吃了
需要刷碗,倒垃圾
這些工作從頭做到尾步驟非常繁瑣,每個(gè)步驟都是費(fèi)時(shí)費(fèi)力的。所以才出現(xiàn)凈菜,半成品菜,拿回家直接做可以了,只做 6,7 步驟就可以 。
軟件開發(fā)需要編譯代碼—>開發(fā)人員自己測(cè)試代碼—>把代碼打包—>部署項(xiàng)目到測(cè)試服務(wù)器—>測(cè)試人員測(cè)試功能—>測(cè)試測(cè)試出bug
開發(fā)人員需要修改bug—>開發(fā)人員自己測(cè)試代碼—>把代碼打包—>部署項(xiàng)目到測(cè)試服務(wù)器—>測(cè)試人員測(cè)試功能—>直到符合功能要求。
上述過(guò)程需要重復(fù)多次,大型項(xiàng)目中構(gòu)建項(xiàng)目比較復(fù)雜,有很多的配置文件,jar 文件,多個(gè)子項(xiàng)目等等。都用人力完成費(fèi)時(shí)費(fèi)力,效率比較低。maven 可以讓我們從上面的工作中解脫出來(lái)。
Maven 是自動(dòng)化構(gòu)建工具。
傳統(tǒng)項(xiàng)目開發(fā)存在的問(wèn)題
一個(gè)項(xiàng)目做成一個(gè)工程,造成工程比較龐大,需要使用多模塊來(lái)劃分項(xiàng)目;
項(xiàng)目中需要的數(shù)量眾多的jar 包,需要手動(dòng)下載并引入,并且多個(gè)項(xiàng)目需要的jar 包存在重復(fù)的問(wèn)題;
項(xiàng)目中需要的jar 包有版本兼容的問(wèn)題,需要手動(dòng)解決; 項(xiàng)目中需要的jar 包又依賴其它的jar 包,需要手動(dòng)解決。
Maven 概述
Maven 是Apache 軟件基金會(huì)組織維護(hù)的一款自動(dòng)化構(gòu)建工具,專注服務(wù)于Java 平臺(tái)的項(xiàng)目構(gòu)建和依賴管理。Maven 這個(gè)單詞的本意是:專家,內(nèi)行。讀音是['me?v(?)n]或['mevn]。
Maven 是目前最流行的自動(dòng)化構(gòu)建工具,對(duì)于生產(chǎn)環(huán)境下多框架、多模塊整合開發(fā)有重要作用,Maven 是一款在大型項(xiàng)目開發(fā)過(guò)程中不可或缺的重要工具。
Maven 可以整合多個(gè)項(xiàng)目之間的引用關(guān)系,我們可以根據(jù)業(yè)務(wù)和分層需要任意拆分一個(gè)項(xiàng)目;
Maven 提供規(guī)范的管理各個(gè)常用jar 包及其各個(gè)版本,并且可以自動(dòng)下載和引入項(xiàng)目中;
Maven 可以根據(jù)指定版本自動(dòng)解決jar 包版本兼容問(wèn)題; Maven 可以把jar包所依賴的其它jar 包自動(dòng)下載并引入項(xiàng)目。
類似自動(dòng)化構(gòu)建工具還有:Ant, Maven, Gradle。
構(gòu)建(build),是面向過(guò)程的(從開始到結(jié)尾的多個(gè)步驟),涉及到多個(gè)環(huán)節(jié)的協(xié)同工作。
構(gòu)建過(guò)程的幾個(gè)主要環(huán)節(jié)
①清理:刪除以前的編譯結(jié)果,為重新編譯做好準(zhǔn)備。
②編譯:將Java源程序編譯為字節(jié)碼文件。
③測(cè)試:針對(duì)項(xiàng)目中的關(guān)鍵點(diǎn)進(jìn)行測(cè)試,確保項(xiàng)目在迭代開發(fā)過(guò)程中關(guān)鍵點(diǎn)的正確性。
④報(bào)告:在每一次測(cè)試后以標(biāo)準(zhǔn)的格式記錄和展示測(cè)試結(jié)果。
⑤打包:將一個(gè)包含諸多文件的工程封裝為一個(gè)壓縮文件用于安裝或部署。Java工程對(duì)應(yīng)jar 包,Web工程對(duì)應(yīng)war包。
⑥安裝:在Maven環(huán)境下特指將打包的結(jié)果——jar包或war包安裝到本地倉(cāng)庫(kù)中。
⑦部署:將打包的結(jié)果部署到遠(yuǎn)程倉(cāng)庫(kù)或?qū)ar包部署到服務(wù)器上運(yùn)行

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
6月20日立即下載>> 【白皮書】精準(zhǔn)測(cè)量 安全高效——福祿克光伏行業(yè)解決方案
-
7月3日立即報(bào)名>> 【在線會(huì)議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報(bào)名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會(huì)
-
7.30-8.1火熱報(bào)名中>> 全數(shù)會(huì)2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身機(jī)器人動(dòng)力電池技術(shù)應(yīng)用大會(huì)
-
免費(fèi)參會(huì)立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會(huì)工業(yè)芯片與傳感儀表展
推薦專題
- 1 AI 眼鏡讓百萬(wàn) APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語(yǔ)權(quán)
- 3 深度報(bào)告|中國(guó)AI產(chǎn)業(yè)正在崛起成全球力量,市場(chǎng)潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級(jí)獨(dú)角獸:獲上市公司戰(zhàn)投,干人形機(jī)器人
- 5 國(guó)家數(shù)據(jù)局局長(zhǎng)劉烈宏調(diào)研格創(chuàng)東智
- 6 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 7 百億AI芯片訂單,瘋狂傾銷中東?
- 8 Robotaxi新消息密集釋放,量產(chǎn)元年誰(shuí)在領(lǐng)跑?
- 9 格斗大賽出圈!人形機(jī)器人致命短板曝光:頭腦過(guò)于簡(jiǎn)單
- 10 “搶灘”家用機(jī)器人領(lǐng)域,聯(lián)通、海爾、美的等紛紛入局