Maven這個詞能夠翻譯爲「知識的積累」,也能夠翻譯爲「專家」或「內行」,是一個跨平臺的項目管理工具。Maven主要服務於基於Java平臺的項目構建、依賴管理和項目信息管理。程序員
構建(build)是每一位程序員天天都作的工做。除了編寫源代碼,咱們天天有至關一部分時間花在了編譯、運行單元測試、生成文檔、打包和部署等繁瑣且不起眼的工做上,這就是構建。若是手工這樣作,成本過高,因而有人用軟件的方法讓這一系列工做徹底自動化,使得軟件的構建能夠像全自動流水線同樣,只須要一條簡單的命令,全部繁瑣的步驟就能自動完成,很快就能獲得最終結果。Maven是一個異常強大的構建工具,可以幫咱們自動化構建過程,咱們要作的水晶宮論壇僅僅是使用Maven配置好項目,而後輸入簡單的命令(如mvn clean install),Maven會幫咱們處理那些繁瑣的任務。Maven是跨平臺的,不管是在Windows上,仍是在Linux或Mac上均可以使用一樣的命令。Maven還能幫咱們標準化構建過程,有了Maven以後,全部項目的構建命令都是簡單一致的,極大避免了沒必要要的學習成本,有利於促進項目團隊的標準化。工具
Maven不只是構建工具,仍是一個依賴管理工具和項目信息管理工具。它提供了中央倉庫,能幫咱們自動下載構建。Maven還能幫咱們管理本來分散在項目中各個角落的項目信息,包括項目描述、開發者列表、版本控制系統地址、許可證、缺陷管理系統地址等,爲咱們節省大量尋找信息的時間。單元測試
使用Maven還有一個額外的好處,即Maven對於項目目錄結構、測試用例命名方式等內容都有既定的規則,只要遵循了這些成熟的規則,用戶在項目間切換的時候就免去了額外的學習成本,能夠說是約定優於配置(Convention Over Configuration)。學習