一、在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>