(一)Maven初步瞭解與認識,maven初步瞭解認識
Apache Maven是一個軟體專案管理的綜合工具。基於項目物件模型(POM)的概念,提供了協助管理構建、文檔、報告、依賴、發布等方法,
Maven簡化和標準化項目建設過程。處理編譯,分配,文檔,團隊協作和其他任務的無縫串連。 Maven增加可重用性並負責建立相關的任務。
maven的好處在於可以將項目過程正常化、自動化、高效化以及強大的可擴充性,利用maven自身及其外掛程式還可以獲得代碼檢查報告、單元測
試覆蓋率、實現持續整合等等。
Maven的基本原理很簡單,採用遠程倉庫和本地倉庫以及一個核心的設定檔pom.xml,pom.xml中定義的jar檔案從遠程倉庫下載到本地倉庫,
各個項目使用同一個本地倉庫的jar,同一個版本的jar只需下載一次,而且避免每個應用都去拷貝jar。同時它採用了現在流行的外掛程式體系架構,所
以maven的核心非常的小,只有幾兆大小的檔案,在執行maven任務時,才會自動下載需要的外掛程式。
具體的概念性模型如:
Maven官方把maven定義為一個專案管理工具,下面我們來看看maven給我們的專案管理做了哪些工作?
項目標準化:
Maven項目具有統一的項目結構,這個項目結構是參考業界的最佳實務而成,為後面使用統一的maven命令打下了基礎,如測試mvn test、打包
mvn package等,無需寫一行指令碼,就可以方便的實現眾多功能。
文檔和報告:
使用mvn site可以快速產生項目網站,apache很多開源項目網站都採用maven產生,會出現built by maven字樣的表徵圖。
類庫管理:
類庫管理是maven一個比較核心的功能,我們就需要將項目所依賴的類庫加入到pom.xml中,那麼maven會自動將依賴的類庫下載到本地,並且下載的
類庫如果還依賴其他的類庫,它也會自動下載過來,這樣我們就不需要一個一個類庫去下載了。
發行管理:
使用maven可以方便的進行項目發表管理。在項目開發到一定階段,可以使用mvn package打包,它會自動先運行mvn test,跑所有的Test Case,只有全
部通過才能正確打包。產生的war包(如果項目的packaging為war)在target目錄下。這個 war包與使用ant指令碼產生一樣,但無需一行指令碼,這也是maven
對比ant的優勢之一。使用mvn install將編譯和打包好的檔案發布到本地倉庫中。使用mvn deploy在整合或者發布環境下執行,將最終版本的包拷貝到遠
程的repository。
本系列博文的目的在於突出maven的重要知識點,提高對maven的學習效率。如果大家掌握了這些知識點,對於使用maven是沒問題的。希望對想要
瞭解的maven的朋友們有所協助。如果大家想全面掌握maven,推薦大家去看許曉斌寫得《maven實戰》。