1. 程式人生 > >Mave實戰(1)——Maven介紹

Mave實戰(1)——Maven介紹

java應用 工具 blog 許可 管理系統 使用 1.2 方式 原本

[TOC]

1. Maven介紹

1.1. 何為Maven

Maven是一個跨平臺的項目管理工具。
Maven主要服務於基於Java平臺的項目構建依賴管理項目信息管理

1.1.1. Maven是優秀的構建工具

  • Maven的用途之一是服務於構建,它是一個異常強大的構建工具,能夠幫我們自動化構建過程,從清理、編譯、測試到生成報告,再到打包和部署。
  • Maven是跨平臺的。
  • Maven最大化的消除了構建的重復,抽象了構建生命周期,並且為絕大部分的構建任務提供了已實現的插件。
  • Maven還幫助我們標準化構建過程。在Mavne之前,十個項目可能有十種構建方式;有了Maven之後,所有項目的構建命令都是簡單一致的,這極大地避免了不必要的學習成本,而且有利於促進項目團隊的標準化。

綜上所述,Maven作為一個構建工具,不僅能幫助我們自動化構建,還能夠抽象構建過程,提供構建任務實現;它跨平臺,對外提供了一致的操作接口,這一切足以使他成為優秀的,流行的構建工具。

1.1.2. Maven不僅僅是構建工具

1.1.2.1. Maven的依賴管理

Maven提供了中央倉庫,能幫我們自動下載構建。
幾乎任何Java應用都會借用一些第三方的開源類庫,這些類庫都可通過依賴的方式引入到項目中來。隨著依賴的增多,版本不一致、版本沖突、依賴臃腫等問題都會接踵而來。幸運的是Maven提供了一個優秀的解決方案,它通過一個坐標系統準確地定位每一個構建(artifact),也就是通過一組坐標Maven能夠找到任何一個Java類庫(如Jar文件)。Maven給這個類庫世界引入了經緯,讓它們變得有秩序,於是我們可以借助它來有序的管理依賴,輕松地解決那些繁雜的依賴問題。

1.1.2.2. Maven的項目信息管理

Maven還能幫助我們管理原本分散在項目中各個角落的項目信息,包括項目描述、開發者列表、版本控制系統地址、許可證、缺陷管理系統地址等。
除了直接的項目信息,通過Maven自動生成的站點,以及一些已有的插件,我們還能夠輕松獲得項目文檔、測試報告、靜態分析報告、源碼版本日誌報告等非常有價值的項目信息。
使用Maven還有一個額外的好處,即Maven對於項目目錄結構、測試用例命名方式等內容都有既定的規則,只要遵循了這些成熟的規則,用戶在項目間切換的時候就免去了額外的學習成本,可以說是約定優於配置(convention Over configuration)

Mave實戰(1)——Maven介紹