利用pom管理引用包時,如果是單項目的話就直接在dependencies引用了,若有一個大工程項目里面包含多個子模塊,則為了所有項目模塊包的版本統一和好管理,則需要用到dependencyManagement,但兩者使用場景有所區別。
dependencies
dependencies即使在子項目中不寫該依賴項,那么子項目仍然會從父項目中繼承該依賴項(全部繼承)。
dependencyManagement
dependencyManagement里只是聲明依賴,並不實現引入,因此子項目需要顯示的聲明需要用的依賴。如果不在子項目中聲明依賴,是不會從父項目中繼承下來的;只有在子項目中寫了該依賴項,並且沒有指定具體版本,才會從父項目中繼承該項,並且version和scope都讀取自父pom;這樣就可以統一全部項目的版本號;
另外如果子項目中指定了版本號,那么會使用子項目中指定的jar版本。