Maven中的dependencyManagement 意義

一、在Maven中dependencyManagement的做用其實至關於一個對所依賴jar包進行版本管理的管理器。java

二、pom.xml文件中,jar的版本判斷的兩種途徑spring

1)若是dependencies裏的dependency本身沒有聲明version元素,那麼maven就會到dependencyManagement裏面去找有沒有對該artifactId和groupId進行過版本聲明,若是有,就繼承它,若是沒有就會報錯,告訴你必須爲dependency聲明一個version。maven

2)若是dependencies中的dependency聲明瞭version,那麼不管dependencyManagement中有無對該jar的version聲明,都以dependency裏的version爲準。xml

三、1)dependencies即便在子項目中不寫該依賴項,那麼子項目仍然會從父項目中繼承該依賴項(所有繼承)blog

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

四、以下ci

//只是對版本進行管理,不會實際引入jar  
<dependencyManagement>  
      <dependencies>  
            <dependency>  
                <groupId>org.springframework</groupId>  
                <artifactId>spring-core</artifactId>  
                <version>3.2.7</version>  
            </dependency>  
    </dependencies>  
</dependencyManagement>  
  
//會實際下載jar包  
<dependencies>  
       <dependency>  
                <groupId>org.springframework</groupId>  
                <artifactId>spring-core</artifactId>  
       </dependency>  
</dependencies>  
相關文章
相關標籤/搜索