為什麼要使用Maven來管理專案?()
為什麼要使用Maven來管理專案?
我們在開發專案的過程中,會使用一些開源框架、第三方的工具等等,這些都是以jar包的方式被專案所引用,並且有些jar包還會依賴其他的jar包,我們同樣需要新增到專案中,所有這些相關的jar包都會作為專案的依賴。通常,一個Java EE專案所依賴的jar包會有很多。然而,這還並非是主要問題,在管理這些jar包過程中,jar包的版本往往是最令人頭疼的問題。選擇一個jar包的版本,需要考慮它所依賴的jar包是否支援這個版本,並且還需要確認依賴它的jar包能不能對這個版本相容。所以,在過去的構建專案過程中,整理出這麼一堆能讓專案正常執行的jar包之後,這個lib目錄就會變為禁區。jar包版本更新了,我們也很少會自找麻煩去觸碰它。至於是不是存在冗餘的jar包?能正常執行就好了嘛。。。。
Maven的出現,解決了開發過程中的這一難題。它可以對專案依賴的jar包進行管理,可以讓你的專案保持基本的依賴,排除冗餘jar包,並且可以讓你非常輕鬆的對依賴的jar包進行版本升級。而這些僅僅是Maven最基本的功能,它可以在這基礎上對專案進行清理、編譯、測試、打包、釋出等等構建專案的工作。
可以說,Maven是現在Java社群中最強大的專案管理和專案構建工具,而更加值得慶幸的是,這樣一個強大的工具,它的使用也是非常簡單的。
現在,JavaEE專案使用的開源軟體都可以通過Maven來獲取,並且,越來越多的公司也開始使用Maven來管理構建專案了。
優點:
(1)平時我們開發專案時,一般都是一個專案就是一個工程。我們劃分模組時,都是使用package來進行劃分。但是,當專案很大時,有很多子模組時,即使是package來進行劃分,也是讓人眼花繚亂。
優點一:專案非常大時,可藉助Maven將一個專案拆分成多個工程,最好是一個模組對應一個工程,利於分工協作。而且模組之間還是可以傳送訊息的。
(2)同一專案的jar包 複製 和 貼上到WEB/INF/lib下 問題:同樣的jar包重複出現在不同的工程中,一方面浪費空間,同時也讓工程臃腫
優點二:藉助Maven,可將jar包僅僅儲存在“倉庫”中,有需要該檔案時,就引用該檔案介面,不需要複製檔案過來佔用空間。
(3)如果jar包都到各個官網網站下載,會浪費很多時間,而且可能不全。
優點三:藉助Maven可以以規範的方式下載jar包,因為所有的知名框架或第三方工具的jar包已經按照統一的規範存放到了Maven的中央倉庫中。
(4)一個jar包依賴的其他jar包可能沒匯入到專案而導致專案跑不起來。
優點四:Maven會自動將你要加入到專案中的jar包匯入,不僅匯入,而且還會將該jar包所依賴的jar包都自動匯入進來。