maven学习整理

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)统一管理依赖的版本

你可能感兴趣的:(maven学习整理)