Maven中dependencyManagement做用說明

  在Maven多模塊的時候,管理依賴關係是很是重要的,各類依賴包衝突,查詢問題起來很是複雜,因而就用到了<dependencyManagement>。java

示例說明

  在父模塊中:mysql

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.44</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

  那麼在子模塊中只須要<groupId>和<artifactId>便可,如:sql

<dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
    </dependencies>

說明

  使用dependencyManagement能夠統一管理項目的版本號,確保應用的各個項目的依賴和版本一致,不用每一個模塊項目都弄一個版本號,不利於管理,當須要變動版本號的時候只須要在父類容器裏更新,不須要任何一個子項目的修改;若是某個子項目須要另一個特殊的版本號時,只須要在本身的模塊dependencies中聲明一個版本號便可。子類就會使用子類聲明的版本號,不繼承於父類版本號。spa

與dependencies區別

  1)Dependencies相對於dependencyManagement,全部生命在dependencies裏的依賴都會自動引入,並默認被全部的子項目繼承。
  2)dependencyManagement裏只是聲明依賴,並不自動實現引入,所以子項目須要顯示的聲明須要用的依賴。若是不在子項目中聲明依賴,是不會從父項目中繼承下來的;只有在子項目中寫了該依賴項,而且沒有指定具體版本,纔會從父項目中繼承該項,而且version和scope都讀取自父pom;另外若是子項目中指定了版本號,那麼會使用子項目中指定的jar版本。.net

————————————————
版權聲明:本文爲CSDN博主「漫天雪_崑崙巔」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/vtopqx/article/details/79034835code

相關文章
相關標籤/搜索