精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
我們為什么要用Maven
                 最近有不少開發者向我反饋,現在做新的項目,需要用到maven工具,自己又沒有這方面的知識,所以我將在這里分享一起maven相關的資料,供大家參考,希望能幫到有需要的朋友。Maven是什么我就不講了,大家可以到百度上去搜索。
 

現在生產環境上開發的項目,不再是一個項目一個工程,而是每個模塊創建一個工程,而多個模塊整合在一起就需要使用到像Maven這樣的構建工具。


真的需要嗎?
Maven是干什么用的?這是很多開發者在剛開始接觸Maven時最大的問題。之所以會提出這個問題,是因為即使不使用Maven 我們仍然可以進行B/S結構項目的開發,從表現層,業務邏輯層到持久化層再到數據庫都有成熟的解決方案——不使用Maven我們一樣可以開發項目啊?
 


 這里給大家糾正一個誤區,Maven并不是直接用來輔助編碼的,它戰斗的崗位并不是以上各層。所以我們有必要通過企業開發中的實際需求來看一看哪些方面是我們現有技術的不足。


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


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

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

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

聯系客服

主站蜘蛛池模板: 山阳县| 长阳| 凤山县| 宁蒗| 察隅县| 灌云县| 沙河市| 民勤县| 博白县| 通许县| 鸡东县| 中宁县| 揭东县| 承德市| 永福县| 海宁市| 镶黄旗| 白朗县| 故城县| 揭阳市| 正宁县| 丰顺县| 新民市| 景洪市| 枣庄市| 博乐市| 潢川县| 马尔康县| 仙桃市| 大城县| 龙州县| 柞水县| 临西县| 廊坊市| 搜索| 芦溪县| 水城县| 中卫市| 九龙城区| 焦作市| 天柱县|