免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
我們?yōu)槭裁匆肕aven
                 最近有不少開(kāi)發(fā)者向我反饋,現(xiàn)在做新的項(xiàng)目,需要用到maven工具,自己又沒(méi)有這方面的知識(shí),所以我將在這里分享一起maven相關(guān)的資料,供大家參考,希望能幫到有需要的朋友。Maven是什么我就不講了,大家可以到百度上去搜索。
 

現(xiàn)在生產(chǎn)環(huán)境上開(kāi)發(fā)的項(xiàng)目,不再是一個(gè)項(xiàng)目一個(gè)工程,而是每個(gè)模塊創(chuàng)建一個(gè)工程,而多個(gè)模塊整合在一起就需要使用到像Maven這樣的構(gòu)建工具。


真的需要嗎?
Maven是干什么用的?這是很多開(kāi)發(fā)者在剛開(kāi)始接觸Maven時(shí)最大的問(wèn)題。之所以會(huì)提出這個(gè)問(wèn)題,是因?yàn)榧词共皇褂肕aven 我們?nèi)匀豢梢赃M(jìn)行B/S結(jié)構(gòu)項(xiàng)目的開(kāi)發(fā),從表現(xiàn)層,業(yè)務(wù)邏輯層到持久化層再到數(shù)據(jù)庫(kù)都有成熟的解決方案——不使用Maven我們一樣可以開(kāi)發(fā)項(xiàng)目???
 


 這里給大家糾正一個(gè)誤區(qū),Maven并不是直接用來(lái)輔助編碼的,它戰(zhàn)斗的崗位并不是以上各層。所以我們有必要通過(guò)企業(yè)開(kāi)發(fā)中的實(shí)際需求來(lái)看一看哪些方面是我們現(xiàn)有技術(shù)的不足。


 1.2 究竟為什么?
為什么要使用Maven?它能幫助我們解決什么問(wèn)題?


 ①添加第三方j(luò)ar包
在今天的JavaEE開(kāi)發(fā)領(lǐng)域,有大量的第三方框架和工具可以供我們使用。要使用這些jar包最簡(jiǎn)單的方法就是復(fù)制粘貼到WEB-INF/lib目錄下。但是這會(huì)導(dǎo)致每次創(chuàng)建一個(gè)新的工程就需要將jar包重復(fù)復(fù)制到lib目錄下,從而造成工作區(qū)中存在大量重復(fù)的文件,讓我們的工程顯得很臃腫。
而使用Maven后每個(gè)jar包本身只在本地倉(cāng)庫(kù)中保存一份,需要jar包的工程只需要以坐標(biāo)的方式簡(jiǎn)單的引用一下就可以了。不僅極大的節(jié)約了存儲(chǔ)空間,讓項(xiàng)目更輕巧,更避免了重復(fù)文件太多而造成的混亂。
②jar包之間的依賴關(guān)系
  jar包往往不是孤立存在的,很多jar包都需要在其他jar包的支持下才能夠正常工作,我們稱(chēng)之為jar包之間的依賴關(guān)系。最典型的例子是:commons-fileupload-1.3.jar依賴于commons-io-2.0.1.jar,如果沒(méi)有IO包,F(xiàn)ileUpload包就不能正常工作。相信很多開(kāi)發(fā)著在沒(méi)有使用Maven前,為解決這些包沖突而頭痛。
那么問(wèn)題來(lái)了,你知道你所使用的所有jar包的依賴關(guān)系嗎?當(dāng)你拿到一個(gè)新的從未使用過(guò)的jar包,你如何得知他需要哪些jar包的支持呢?如果不了解這個(gè)情況,導(dǎo)入的jar包不夠,那么現(xiàn)有的程序?qū)⒉荒苷9ぷ?。再進(jìn)一步,當(dāng)你的項(xiàng)目中需要用到上百個(gè)jar包時(shí),你還會(huì)人為的,手工的逐一確認(rèn)它們依賴的其他jar包嗎?這簡(jiǎn)直是不可想象的。
而引入Maven后,Maven就可以替我們自動(dòng)的將當(dāng)前jar包所依賴的其他所有jar包全部導(dǎo)入進(jìn)來(lái),無(wú)需人工參與,節(jié)約了我們大量的時(shí)間和精力。用實(shí)際例子來(lái)說(shuō)明就是:通過(guò)Maven導(dǎo)入commons-fileupload-1.3.jar后,commons-io-2.0.1.jar會(huì)被自動(dòng)導(dǎo)入,程序員不必了解這個(gè)依賴關(guān)系。
下圖是Spring所需jar包的部分依賴關(guān)系
 

③獲取第三方j(luò)ar包
JavaEE開(kāi)發(fā)中需要使用到的jar包種類(lèi)繁多,幾乎每個(gè)jar包在其本身的官網(wǎng)上的獲取方式都不盡相同。為了查找一個(gè)jar包找遍互聯(lián)網(wǎng),身心俱疲,沒(méi)有經(jīng)歷過(guò)的人或許體會(huì)不到這種折磨。不僅如此,費(fèi)勁心血找的jar包里有的時(shí)候并沒(méi)有你需要的那個(gè)類(lèi),又或者又同名的類(lèi)沒(méi)有你要的方法——以不規(guī)范的方式獲取的jar包也往往是不規(guī)范的。
使用Maven我們可以享受到一個(gè)完全統(tǒng)一規(guī)范的jar包管理體系。你只需要在你的項(xiàng)目中以坐標(biāo)的方式依賴一個(gè)jar包,Maven就會(huì)自動(dòng)從中央倉(cāng)庫(kù)進(jìn)行下載,并同時(shí)下載這個(gè)jar包所依賴的其他jar包
——規(guī)范、完整、準(zhǔn)確!一次性解決所有問(wèn)題!
Tips:在這里我們順便說(shuō)一下,統(tǒng)一的規(guī)范幾乎可以說(shuō)成是程序員的最高信仰。如果沒(méi)有統(tǒng)一的規(guī)范,就意味著每個(gè)具體的技術(shù)都各自為政,需要以諸多不同的特殊的方式加入到項(xiàng)目中;好不容易加入進(jìn)來(lái)還會(huì)和其他技術(shù)格格不入,最終受苦的是我們。而任何一個(gè)領(lǐng)域的統(tǒng)一規(guī)范都能夠極大的降低程序員的工作難度,減少工作量。例如:USB接口可以外接各種設(shè)備,如果每個(gè)設(shè)備都有自己獨(dú)特的接口,那么不僅制造商需要維護(hù)各個(gè)接口的設(shè)計(jì)方案,使用者也需要詳細(xì)了解每個(gè)設(shè)備對(duì)應(yīng)的接口,無(wú)疑是非常繁瑣的。
④將項(xiàng)目拆分成多個(gè)工程模塊
隨著JavaEE項(xiàng)目的規(guī)模越來(lái)越龐大,開(kāi)發(fā)團(tuán)隊(duì)的規(guī)模也與日俱增。一個(gè)項(xiàng)目上千人的團(tuán)隊(duì)持續(xù)開(kāi)發(fā)很多年對(duì)于JavaEE項(xiàng)目來(lái)說(shuō)再正常不過(guò)。那么我們想象一下:幾百上千的人開(kāi)發(fā)的項(xiàng)目是同一個(gè)Web工程。那么架構(gòu)師、項(xiàng)目經(jīng)理該如何劃分項(xiàng)目的模塊、如何分工呢?這么大的項(xiàng)目已經(jīng)不可能通過(guò)package結(jié)構(gòu)來(lái)劃分模塊,必須將項(xiàng)目拆分成多個(gè)工程協(xié)同開(kāi)發(fā)。多個(gè)模塊工程中有的是Java工程,有的是Web工程。
那么工程拆分后又如何進(jìn)行互相調(diào)用和訪問(wèn)呢?這就需要用到Maven的依賴管理機(jī)制。大家請(qǐng)看我們的Survey調(diào)查項(xiàng)目拆分的情況:
 

上層模塊依賴下層,所以下層模塊中定義的API都可以為上層所調(diào)用和訪問(wèn)。            
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Maven使用教程
Maven項(xiàng)目中jar沖突解決方案
Maven工程聚合,多個(gè)Java工程、web工程聚合
Maven知識(shí)點(diǎn)梳理
Maven解讀:強(qiáng)大的依賴體系
maven 將項(xiàng)目的jar包部署到tomcat的lib下
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服