Maven中的dependencyManagement 實例詳解
Maven中的dependencyManagement 詳解
1.作用:
在Maven中dependencyManagement的作用其實相當(dāng)于一個對所依賴jar包進(jìn)行版本管理的管理器。
2.pom.xml文件中,jar的版本判斷的兩種途徑:
(1)如果dependencies里的dependency自己沒有聲明version元素,那么maven就會到dependencyManagement里面去找有沒有對該artifactId和groupId進(jìn)行過版本聲明,如果有,就繼承它,如果沒有就會報錯,告訴你必須為dependency聲明一個version。
(2)如果dependencies中的dependency聲明了version,那么無論dependencyManagement中有無對該jar的version聲明,都以dependency里的version為準(zhǔn)。
3.dependencyManagement與dependencies區(qū)別:
(1)dependencies 即使在子項目中不寫該依賴項,那么子項目仍然會從父項目中繼承該依賴項(全部繼承)
(2)dependencyManagement里只是聲明依賴,并不實現(xiàn)引入。
(3)因此子項目需要顯示的聲明需要用的依賴。如果不在子項目中聲明依賴,是不會從父項目中繼承下來的;只有在子項目中寫了該依賴項,并且沒有指定具體版本,才會從父項目中繼承該項,并且version和scope都讀取自父pom;另外如果子項目中指定了版本號,那么會使用子項目中指定的jar版本。
4.舉例:
(1)只是對版本進(jìn)行管理,不會實際引入jar :
<dependencyManagement> <dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.17.0</version> </dependency> </dependencies> </dependencyManagement>
(2)會實際下載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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
教你Java中的Lock鎖底層AQS到底是如何實現(xiàn)的
本文是基于ReentrantLock來講解,ReentrantLock加鎖只是對AQS的api的調(diào)用,底層的鎖的狀態(tài)(state)和其他線程等待(Node雙向鏈表)的過程其實是由AQS來維護(hù)的,對Java?Lock鎖AQS實現(xiàn)過程感興趣的朋友一起看看吧2022-05-05javaweb中Filter(過濾器)的常見應(yīng)用
這篇文章主要介紹了javaweb中Filter的常見應(yīng)用,過濾器的使用方法,感興趣的小伙伴們可以參考一下2015-12-12