Maven
1、學習目標
會使用maven構建專案的命令
會使用maven構建java專案和java web專案
依賴管理--傳遞依賴 版本衝突處理
在web的單個工程中實現jsp+servlet整合。
分模組構建工程
會向私服上傳jar包。會從私服下載jar包
2、Maven介紹
2.1 maven是什麼
maven翻譯為“專家”,“內行”。
Maven是Apache下的一個純java開發的開源專案,它是一個專案管理工具,使用maven對java專案進行構建、依賴管理。當前使用Maven的專案在持續增長。
2.2 什麼是專案構建
專案構建是一個專案從編寫原始碼到編譯、測試、執行、打包、部署、執行的過程
2.3 構建過程
2.3.1 傳統專案構建過程
傳統的使用eclipse構建專案的過程如下:
2.3.2 maven專案構建過程
maven將專案構建的過程進行標準化,每個階段使用一個命令完成,下圖展示了構建過程的一些階段,後面章節詳 細介紹每個階段,這裡先大概瞭解下:
清理 mvn clean
編譯 mvn compile
測試 mvn test
報告 mvn site
打包 mvn package
部署 mvn deploy
2.4 jar依賴管理
2.4.1 傳統專案的依賴管理
傳統的專案工程要管理所依賴的jar包完全靠人工進行,程式設計師從網上下載jar包新增到專案工程中,如下圖:程式 員手工將Spring、SpringMVC、Mybatis的jar新增到工程中的WEB-INF/lib目錄下。
手工拷貝jar包新增到工程中的問題是:
沒有對jar包的版本統一管理,容易導致版本衝突。
從網上找jar包非常不方便,有些jar找不到。
jar包新增到工程中導致工程過大。
2.4.2 maven專案的依賴管理
maven專案管理所依賴的jar包不需要手動向工程新增jar包,只需要在pom.xml(maven工程的配置檔案)新增jar
包的座標,自動從maven倉庫中下載jar包、執行,如下圖:
使用maven依賴管理新增jar的好處:
通過pom.xml檔案對jar包的版本進行統一管理,可避免版本衝突。
maven團隊維護了一個非常全的maven倉庫,裡邊包括了當前使用的jar包,maven工程可以自動從maven倉庫
下載jar包,非常方便。
2.5 使用maven的好處
通過上邊介紹傳統專案和maven專案在專案構建及依賴管理方面的區域,maven有如下的好處:
一步構建
maven對專案構建的過程進行標準化,通過一個命令即可完成構建過程。
依賴管理
maven工程不用手動導jar包,通過在pom.xml中定義座標從maven倉庫自動下載,方便且不易出錯。
maven的跨平臺,可在window、linux上使用。
maven遵循規範開發有利於提高大型團隊的開發效率,降低專案的維護成本,大公司都會考慮使用maven來構
建專案。