maven 中的pom中的 dependencyManagement 和 dependencies
參考:maven pom.xml 中 dependencyManagement和dependencies詳解
現在的專案基本上都是使用多module來管理的,這就涉及到一個問題,多module之間如何使用共同的第三方jar,或者說如何減少相同的jar匯入的配置。
1. 首先介紹<dependencies>
我們是這裡引入了一個jar包之後,這裡如果沒有加上version版本號的話,那麼maven就會去<dependencyManagement>裡找對應groupId和artifactId的jar,如果有就繼承他,如果沒有就會報錯,這時候其實在我們配置的本地倉庫中會真實的下載對應的jar包,這時候所有的子module都會預設繼承這裡面所有宣告的jar
2. <dependencyManagement>
這裡其實是起到管理依賴jar版本號的作用,一般只會在專案的最頂層的pom.xml中使用到,所有子module如果想要使用到這裡面宣告的jar,只需要在子module中新增相應的groupId和artifactId即可,並不需要宣告版本號,需要注意的是這裡面只是宣告一個依賴,並不是真實的下載jar,只有在子module中使用到,才會去下載依賴。
dependencies即使在子專案中不寫該依賴項,那麼子專案仍然會從父專案中繼承該依賴項(全部繼承)
dependencyManagement裡只是宣告依賴,並不實現引入,因此子專案需要顯示的宣告需要用的依賴。如果不在子專案中宣告依賴,是不會從父專案中繼承下來的;只有在子專案中寫了該依賴項,並且沒有指定具體版本,才會從父專案中繼承該項,並且version和scope都讀取自父pom;另外如果子專案中指定了版本號,那麼會使用子專案中指定的jar版本。
---------------------
作者:劉騰騰
來源:CSDN
原文:https://blog.csdn.net/liutengteng130/article/details/46991829
版權宣告:本文為博主原創文章,轉載請附上博文連結!