Maven中的dependencyManagement 實(shí)例詳解
Maven中的dependencyManagement 詳解
1.作用:
在Maven中dependencyManagement的作用其實(shí)相當(dāng)于一個(gè)對(duì)所依賴jar包進(jìn)行版本管理的管理器。
2.pom.xml文件中,jar的版本判斷的兩種途徑:
(1)如果dependencies里的dependency自己沒(méi)有聲明version元素,那么maven就會(huì)到dependencyManagement里面去找有沒(méi)有對(duì)該artifactId和groupId進(jìn)行過(guò)版本聲明,如果有,就繼承它,如果沒(méi)有就會(huì)報(bào)錯(cuò),告訴你必須為dependency聲明一個(gè)version。
(2)如果dependencies中的dependency聲明了version,那么無(wú)論dependencyManagement中有無(wú)對(duì)該jar的version聲明,都以dependency里的version為準(zhǔn)。
3.dependencyManagement與dependencies區(qū)別:
(1)dependencies 即使在子項(xiàng)目中不寫(xiě)該依賴項(xiàng),那么子項(xiàng)目仍然會(huì)從父項(xiàng)目中繼承該依賴項(xiàng)(全部繼承)
(2)dependencyManagement里只是聲明依賴,并不實(shí)現(xiàn)引入。
(3)因此子項(xiàng)目需要顯示的聲明需要用的依賴。如果不在子項(xiàng)目中聲明依賴,是不會(huì)從父項(xiàng)目中繼承下來(lái)的;只有在子項(xiàng)目中寫(xiě)了該依賴項(xiàng),并且沒(méi)有指定具體版本,才會(huì)從父項(xiàng)目中繼承該項(xiàng),并且version和scope都讀取自父pom;另外如果子項(xiàng)目中指定了版本號(hào),那么會(huì)使用子項(xiàng)目中指定的jar版本。
4.舉例:
(1)只是對(duì)版本進(jìn)行管理,不會(huì)實(shí)際引入jar :
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.0</version>
</dependency>
</dependencies>
</dependencyManagement> (2)會(huì)實(shí)際下載jar包:
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.0</version>
</dependency>
</dependencies> 到此這篇關(guān)于Maven中的dependencyManagement 詳解的文章就介紹到這了,更多相關(guān)Maven dependencyManagement 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MybatisX無(wú)法自動(dòng)生成entity實(shí)體類的解決方法
本文主要介紹了MybatisX無(wú)法自動(dòng)生成entity實(shí)體類的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
教你Java中的Lock鎖底層AQS到底是如何實(shí)現(xiàn)的
本文是基于ReentrantLock來(lái)講解,ReentrantLock加鎖只是對(duì)AQS的api的調(diào)用,底層的鎖的狀態(tài)(state)和其他線程等待(Node雙向鏈表)的過(guò)程其實(shí)是由AQS來(lái)維護(hù)的,對(duì)Java?Lock鎖AQS實(shí)現(xiàn)過(guò)程感興趣的朋友一起看看吧2022-05-05
javaweb中Filter(過(guò)濾器)的常見(jiàn)應(yīng)用
這篇文章主要介紹了javaweb中Filter的常見(jiàn)應(yīng)用,過(guò)濾器的使用方法,感興趣的小伙伴們可以參考一下2015-12-12
Spring Boot對(duì)Future模式的支持詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot對(duì)Future模式的支持的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2019-01-01

