什么是传递性依赖,简单的说就是把自己项目中所依赖的其他项目,所依赖的项目,引入到自己项目。
听起来很绕口
举个例子
我们建立了一个项目A,该项目是一个基于spring的项目。
传统的做法我们不仅需要把spring的包引入到我们的项目的lib目录下,而且需要把spring项目用到的其他的包导入到lib目录下。
maven的做法是我们只需要在pom把dependency中配置spring依赖,而不需要配置spring的依赖。spring自己的依赖会写在自己的pom中,maven会解析它,将它自动导入到我们项目。
有了传递性依赖机制,在使用spring framework的时候就不用去考虑它依赖了什么,也不用担心引入多余的依赖。Maven会解析各个直接依赖的POM,将那些必要的间接依赖,以传递性依赖的形式引入到当前项目中。