maven中dependencyManagement标签的继承性以及使用scope=import进行多继承
maven中dependencyManagement标签的继承性以及使用scope=import进行多继承
声明的继承性是通过dependencyManagement实现。
子项目在声明中会继承父项目的声明。
举例
三个项目A、B、C:
- A使用dependencyManagement声明一个依赖x;
- B使用dependencyManagement声明A,同时设置type标签为pom,scope标签为import(关键);
- 此时相当于B声明了依赖x;
- 此时C继承B项目,则C可以继承A中声明的依赖x的版本号。虽然B没有声明依赖x,但是依旧可以,因为B通过dependencyManagement标签继承了A的声明;
- 此功能可以用在依赖版本封装中,项目A作为公共组件,此时开发一个项目B,B只需要声明项目A,即可获得所有版本。B可以作为该项目的父项目,子项目继承B,就可以使用公共组件A中的版本。
- 其中scope=import和type=pom是maven实现多继承的手段。在dependencies标签中同样可以使用。
参考https://blog.csdn.net/leoxyk/article/details/79622507