Maven核心總結

Maven核心總結

maven是什麼

maven是apache軟件基金會組織維護的一款自動化構建工具,用於java平臺的項目構建和依賴管理。

一個項目構建包括我們從完成代碼的編寫,到編譯後執行,並且啓動服務器的過程。

Web工程編譯過程

 

在實際項目中,我們需要整合第三放框架,java程序,jsp頁面,靜態資源,配置文件,各種jar包,,構建過程,就是我們把這個原料生產成一個可以運行的項目的過程。

 

構建過程的環節

 

其中的編譯,打包,部署,測試,我們讓他們自動完成,就是自動化構建。

 

 

 

 

 

 

 

 

 

Maven實現自動化構建的原理

 

 

 

 

Maven有什麼用

如圖,在項目構建過程中,我們不使用maven也可能完成一個項目。但是maven並不是可有可無的。

 

但是在實際開發過程中,我們在使用第三方jar包的時候,通常放進WEB-INF/lib目錄下,1.節約空間   通常每次創建一個工程之後,不同工程之間存在大量冗餘重複的的jar包。

使用maven之後,所有的工程在使用jar包時直接從本地倉庫調用,所有jar包只有一份,節約存儲空間。

 

2.jar包依賴關係   我們經常在引入某個jar包之後,發現項目出現問題,這是因爲,某些jar包在使用的時候必須依賴於其他jar包,但是我們不可能能記住不同jar包之間的依賴關係,也不能一個一個去引入,使用maven之後,自動將jar包之間的依賴全部導入,不必瞭解詳細的依賴關係。

 

3.獲取合適第三方jar包  java開發過程中使用的jar包種類繁多,我們不可能在開發一個項目的時候去很多不同網站找尋某一個jar包,maven像是一個目錄倉庫,他把所有的jar包統一收集,我們時候的時候可以直接去maven的官網下載,不去分開去不同地方下載。

 

4.maven的模塊依賴管理  在開發大型項目的時候,把一個項目分爲多個不同模塊,由不同人員管理,最終合併成完整的模塊,在這個過程中,我們需要控制不同模塊之間的相互調用和訪問,使用maven把控下層模塊可以被上層模塊調用。

 

Maven如何用

Maven本地默認倉庫是:~\.m2\repository

Maven約定的目錄結構

 

在開發過程中,約定>配置>編碼

 

Pom文件

Project Object Model:項目對象模型,把java工程的相關信息封裝爲對象作爲便於操作的模型,是maven的核心配置。

 

Maven座標介紹

 

 

 

查找jar包時

把三個gav連接起來去倉庫查找,每級目錄使用/分割

 

依賴

依賴除了上面的三個座標之外還有個依賴的範圍(一般省略)

Compile:編譯範圍依賴

Test  :測試範圍依賴

Provided :部署範圍依賴

有效性總結

 

依賴性的傳遞

我們在編寫項目過程中會出現這種情況,當不同項目的依賴範圍不同時候,出現不能調用的情況,這個時候修改 依賴關係可以解決

例如

 

 

依賴的排除

當我們引入A的時候,A依賴於Bmaven 自動會爲我們引入B的依賴,但是不是我們自己選擇的版本,可能會出現不穩定的情況,我們可以引入A的時候排除B

 

同一框架的版本聲明

 

 

 

 

 

 

 

 

倉庫
1.本地倉庫 當前電腦上所有的maven工程服務

 

 

 

 

 

 

繼承機制

非compile範圍的依賴信息不能在依賴鏈中傳遞,所以有些工程需要單獨配置。但是配置的時候修改不同的版本號很麻煩。我們可以把依賴信息提取到父工程的模塊統一管理

 

子工程引用父工程

 

 

 

聚合

多個工程拆分爲模塊後,需要手動逐個安裝到倉庫後依賴才能生效,修改源碼後也需要手動進行clean操作,使用聚合可以批量處理

配置i聚合

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章