dependency功能大幅度的簡化了對第三方庫的管理。若是須要將某個庫升級到最新版本,只須要更改一下版本號。java
先看定義tomcat
可傳遞 若是A依賴B, B依賴C, 那麼A也將依賴Cbash
不可傳遞 A依賴B, B依賴C, 可是A不依賴Cmaven
第三方庫,或者本身編寫的java庫,並非每一個功能都是徹底重寫一遍,仍是有可能調用其它的一些開源庫。這時就涉及到了依賴的傳遞性,它跟scope有關,見一下節。ide
查看項目的依賴關係, 可使用命令測試
mvn dependency:tree
限定在哪些狀況下使用這個依賴庫。spa
scope有五個值:插件
若是嫌麻煩,能夠不指定scope, 默認使用compile, 可是會致使生成的目標文件包含沒必要要的庫。code
另外, 部分插件可使用scope過濾某些依賴。xml
能夠將dependency的詳細信息,包含version, scope定義在parent的pom.xml的dependencyManagement中, 而child的dependency只須要指定groupId和artifactId。此時version和scope將繼承parent中的dependencyManagement對應的依賴項的值。至關於,由parent定義,而後由child引用。