一、maven用途
- java在創建項目的時候,可以自己手動創建,也可以利用工具創建,也就是maven來創建。
- maven可以用來創建項目、部署項目、安裝管理依賴、編譯代碼、管理二進制等。
- maven的目的是使項目過程規範化、自動化、高效化及強大的可擴展性。
- 利用maven自身和插件獲得代碼檢查報告、單元測試覆蓋率、實現持續集成
- maven最主要的用途是依賴管理,如果不使用maven,項目若需要某個jar包就需要手動下載,而maven則只要在pom配置文件手動加depency配置就能自動下載需要的依賴的jar包
- 實際上,maven一些命令執行的類似編譯代碼打包代碼,都是執行的java命令,所以,maven就是在執行一系列java命令來完成項目的各種用途
二、maven核心概念
-
pom
(1)maven配置項目中最基礎的配置文件,在項目根目錄下,一般爲pom.xml (2)主要是對項目相關信息的一些配置,最常見的就是依賴的引入配置
-
artifacts
(1)項目將會生成的一些包或者二進制等文件 (2)Artifacts指的就是項目的項目發行時產生的一些文件
-
repositories
(1)存儲artifact工具的倉庫或者包的倉庫,分爲本地和遠程倉庫
-
build lifecycle
(1)每個任務task執行有一個順序的鏈條phase,比如mvn install任務執行之前會先執行其他的phase(具體的順序的phase鏈條可以自行搜索) (2)幾個重要的順序的phase鏈條: validate 驗證項目是否正確以及必須的信息是否可用 compile 編譯源代碼 test 測試編譯後的代碼,即執行單元測試代碼 package 打包編譯後的代碼,在target目錄下生成package文件 integration-test 處理package以便需要時可以部署到集成測試環境 verify 檢驗package是否有效並且達到質量標準 install 安裝package到本地倉庫,方便本地其它項目使用 deploy 部署,拷貝最終的package到遠程倉庫和替他開發這或項目共享,在集成或發佈環境完成
-
goal
(1)代表某一個具體的task,比如mvn install (2)執行某個goal時候,必須按照順序執行前邊的phase才行,比如mvn install執行的時候,先執行validate\compile\test\package\integration-test\verify這些phase後,再執行install,這是build lifecycle規則