Maven 學習(1)
Maven是什麽,以及為什麽要使用Maven?
Maven這個詞可以翻譯為“知識的積累”,也可以翻譯為“專 家”或“內行”。
(構建 = 編寫源代碼+編譯源代碼+單元測試+生成文檔+打包War+部署)
Maven主要服務於基於Java平臺的項目構建、依賴管理和項目信息管理。
Maven適用於傳統的瀑布式開發(瀑布模型開發中,項目依次要經歷需求開發、分析、設計、編碼、測試和集成發布階段。)、流行的敏捷模式開發、小型的開源類庫項目、大型的企業級應用
Maven的用途之一是服務於構建,它是一個異常強大的構建工具,能 夠幫我們自動化構建過程,從清理、編譯、測試到生成報告,再到打包和部署。
Maven的優點:
Maven
Maven最大化地消除了構建的重復,抽象了構建生命周期,並且為絕大部分的構建任務提供了已實現的插件,我們不再需要定義過程,甚至 不需要再去實現這些過程中的一些任務。最簡單的例子是測試,我們沒必要告訴Maven去測試,更不需要告訴Maven如何運行測試,只需要遵循Maven 的約定編寫好測試用例,當我們運行構建的時候,這些測試便會自動運行。
Maven能幫助我們標準化構建過程,快速地發布項目。
(概括):
Maven不僅是一個優秀的、流行的構建工具,還是一個依賴管理工具和項目信息管理工具;它提供了中央倉庫,能幫我們自動下載構件,能幫我們自動化構建,還能夠抽象構建過程,提供構建任務實現,它跨平臺,對外提供了一致的操作接口;
Maven對於項目目錄結構、測試用 例命名方式等內容都有既定的規則,只要遵循了這些成熟的規則,用戶在項目間切換的時候就免去了額外的學習成本,可以說是約定優於配置 (Convention Over Configuration);
Maven能幫助我們管理原本分散在項目中各個角落的項目信息,包括項目描 述、開發者列表、版本控制系統地址、許可證、缺陷管理系統地址等。這些微小的變化看起來很瑣碎,並不起眼,但卻在不知不覺中為我們節省了大量尋找信息的時 間。除了直接的項目信息,通過Maven自動生成的站點,以及一些已有的插件,我們還能夠輕松獲得項目文檔、測試報告、靜態分析報告、源碼版本日誌報告等 非常具有價值的項目信息;
Maven還為全世界的Java開發者提供了一個免費的中央倉庫,在其中幾乎可以找到任何的流行開源類庫。通過一些Maven的衍生工具(如Nexus),我們還能對其進行快速地搜索。只要定位了坐標,Maven就能夠幫我們自動下載,省去了手工勞動。
Maven 學習(1)