Maven中dependencyManagement作用說明


  在Maven多模塊的時候,管理依賴關系是非常重要的,各種依賴包沖突,查詢問題起來非常復雜,於是就用到了<dependencyManagement>。

示例說明

  在父模塊中:

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

        </dependencies>
    </dependencyManagement>

  那么在子模塊中只需要<groupId>和<artifactId>即可,如:

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

說明

  使用dependencyManagement可以統一管理項目的版本號,確保應用的各個項目的依賴和版本一致,不用每個模塊項目都弄一個版本號,不利於管理,當需要變更版本號的時候只需要在父類容器里更新,不需要任何一個子項目的修改;如果某個子項目需要另外一個特殊的版本號時,只需要在自己的模塊dependencies中聲明一個版本號即可。子類就會使用子類聲明的版本號,不繼承於父類版本號。

與dependencies區別

  1)Dependencies相對於dependencyManagement,所有生命在dependencies里的依賴都會自動引入,並默認被所有的子項目繼承。
  2)dependencyManagement里只是聲明依賴,並不自動實現引入,因此子項目需要顯示的聲明需要用的依賴。如果不在子項目中聲明依賴,是不會從父項目中繼承下來的;只有在子項目中寫了該依賴項,並且沒有指定具體版本,才會從父項目中繼承該項,並且version和scope都讀取自父pom;另外如果子項目中指定了版本號,那么會使用子項目中指定的jar版本。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM