maven引入依赖问题
dependencyManagement与dependencies区别
dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显式的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;
生效方式: 只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项 ,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。
dependencies即使在子模块中不写该依赖项,那么子模块仍然会从父项目中继承该依赖项(全部继承)。
总结:
pom引入包进行良好的代码规划 会使得项目更容易维护,举例说明
在cloud项目中,子项目都会用到spring-cloud-starter-bootstrap启动器。这就可以写到dependencies里,父层有,子一定会有。
还有些不一定所有项目都用,但是需要统一版本的com.github.pagehelper插件,就可以在父级dependencyManagement声明,如果子有引用该插件,则可以不填写版本号,统一会用父级的。
一、划定版本 配置
<properties> <spring-cloud.version>2020.0.4</spring-cloud.version> </properties>