dependencyManagement的作用,DependencyManagement和Dependencies的區別

一、dependencyManagement的介紹

Maven使用dependencyManagement元素來提供一種管理依賴版本號方式,通常會在一個組織或者項目的最頂層的父POM中看到dependencyManagement元素

二、使用dependencyManagement的好處

使用pom.xml中的dependencyManagement元素能讓所有在子項目中引用一個依賴而不用顯式的列出版本號;maven會沿着父子層次向上走,直到找到一個擁有dependencyManagement元素的項目,然後它就會使用這個dependencyManagement元素中指定的版本號

  <!--子模塊繼承後,提供作用:鎖定版本+子module不用groupId和version-->
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql.version}</version>
      </dependency>

然後在子項目裏就可以添加mysql-connector時可以不指定版本號

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

這樣做的好處就是: 如果有多個子項目都引用同一樣的依賴,則可以避免在每個使用的子項目裏都聲明一個版本號,這樣想升級或切換到另一個版本時,只需在頂層父容器裏更新,而不需要一個一個子項目的修改;另外如果某個子項目需要另外的一個版本,只需聲明version版本

dependencyManagement裏只是聲明依賴,並不實現引入,因此子項目需要顯示的聲明需要用的依賴

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章