Maven中的dependencyManagement 實(shí)例詳解
Maven中的dependencyManagement 詳解
1.作用:
在Maven中dependencyManagement的作用其實(shí)相當(dāng)于一個(gè)對所依賴jar包進(jìn)行版本管理的管理器。
2.pom.xml文件中,jar的版本判斷的兩種途徑:
(1)如果dependencies里的dependency自己沒有聲明version元素,那么maven就會(huì)到dependencyManagement里面去找有沒有對該artifactId和groupId進(jìn)行過版本聲明,如果有,就繼承它,如果沒有就會(huì)報(bào)錯(cuò),告訴你必須為dependency聲明一個(gè)version。
(2)如果dependencies中的dependency聲明了version,那么無論dependencyManagement中有無對該jar的version聲明,都以dependency里的version為準(zhǔn)。
3.dependencyManagement與dependencies區(qū)別:
(1)dependencies 即使在子項(xiàng)目中不寫該依賴項(xiàng),那么子項(xiàng)目仍然會(huì)從父項(xiàng)目中繼承該依賴項(xiàng)(全部繼承)
(2)dependencyManagement里只是聲明依賴,并不實(shí)現(xiàn)引入。
(3)因此子項(xiàng)目需要顯示的聲明需要用的依賴。如果不在子項(xiàng)目中聲明依賴,是不會(huì)從父項(xiàng)目中繼承下來的;只有在子項(xiàng)目中寫了該依賴項(xiàng),并且沒有指定具體版本,才會(huì)從父項(xiàng)目中繼承該項(xiàng),并且version和scope都讀取自父pom;另外如果子項(xiàng)目中指定了版本號,那么會(huì)使用子項(xiàng)目中指定的jar版本。
4.舉例:
(1)只是對版本進(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Maven dependency:tree 的 8 個(gè)高級用法
- Maven dependencyManagement元素標(biāo)簽的具體使用
- Maven dependency中的scope案例講解
- Maven中dependencyManagement管理項(xiàng)目依賴項(xiàng)
- Maven?dependency?plugin使用心得總結(jié)
- Maven中dependency和plugins的繼承與約束
- Maven dependencies與dependencyManagement的區(qū)別詳解
- Maven中dependency標(biāo)簽參數(shù)的使用小結(jié)
相關(guān)文章
mybatis返回map結(jié)果集@MapKey使用的場景分析
這篇文章主要介紹了mybatis返回map結(jié)果集@MapKey使用的場景分析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
JavaFx 中創(chuàng)建計(jì)時(shí)器的步驟詳解
本文介紹了如何在JavaFx中創(chuàng)建計(jì)時(shí)器,通過創(chuàng)建計(jì)時(shí)器界面、編寫計(jì)時(shí)器邏輯以及關(guān)聯(lián)計(jì)時(shí)器按鈕,我們可以快速實(shí)現(xiàn)一個(gè)靈活可靠的計(jì)時(shí)器組件,本文能夠幫助讀者在 JavaFx 中成功實(shí)現(xiàn)自己的計(jì)時(shí)器功能,感興趣的朋友一起看看吧2023-11-11
Springboot2.X集成redis集群(Lettuce)連接的方法
這篇文章主要介紹了Springboot2.X集成redis集群(Lettuce)連接的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07
Java內(nèi)存之happens-before和重排序
在JMM(Java內(nèi)存模型)中,如果一個(gè)操作執(zhí)行的結(jié)果需要對另一個(gè)操作可見,那么這兩個(gè)操作之間必須存在happens-before關(guān)系。下面小編來簡單介紹一下2019-05-05

