1、dependencies和dependencyManagement的區別 (參考:https://blog.csdn.net/diu_brother/article/details/79579674) dependencyManagement:只是聲明依賴,並不實現引入,因此子項目需要顯示的聲明 ...
1、dependencies和dependencyManagement的區別
(參考:https://blog.csdn.net/diu_brother/article/details/79579674)
dependencyManagement:只是聲明依賴,並不實現引入,因此子項目需要顯示的聲明需要用的依賴。如果不在子項目中聲明依賴,是不會從父項目中繼承下來的;只有在子項目中寫了該依賴項,並且沒有指定具體版本,才會從父項目中繼承該項,並且version和scope都讀取自父pom;另外如果子項目中指定了版本號,那麼會使用子項目中指定的jar版本
dependencies:相對於dependencyManagement,所有生命在dependencies里的依賴都會自動引入,並預設被所有的子項目繼承
2、dependency中type=pom的意義
(參考:https://blog.csdn.net/yao123long/article/details/49925659)
type預設是jar。
當jar很多時,可以將多個jar打在一個pom中,這樣在引入的時候只需要添加一個type=pom的依賴,就可以引入依賴的所有包。
需要註意:當父pom中引入的是pom,子pom中繼承時需要主動聲明type=pom。
3、dependency中scope=import的意義
(參考:https://blog.csdn.net/mn960mn/article/details/50894022、https://www.cnblogs.com/xuzimian/p/10235164.html、https://blog.csdn.net/qq_37372909/article/details/79441916)
為瞭解決maven的單繼承問題。
僅出現在dependencyManagement中。
使用時通常需要配合type=pom同時使用。
4、maven繼承的好處
1)統一管理依賴的版本