1.使用背景
随着业务复杂度的增长,部门内的服务也在变多,各服务之间一些中间件版本不一致,升级一个版本,会解决不同的版本冲突,会非常痛苦。
这时候使用maven parent来统一管理版本,就很合适了。
常见的spring的parent
2.parent作用
1.parent只是声明版本号,可以作为部门内统一版本的管理,引用该parent的项目,可以在dependency里声明坐标,而不用写版本号,就会使用parent里的版本号。
如果没有在项目里声明,parent里dependencyManagement是不会直接引用改jar的,只是一个声明作用。
2.parent引用逻辑
maven所有的引用逻辑都符合最短依赖路径原则,parent的在properties也是符合这个原则。
3.注意事项
使用parent管理后,parent的版本相当于直接引用,路径是1,比其他路径是2的版本要高,工作中遇到一个事情,dubbo sdk的直接加了com.a.commmon这个项目,版本号是2.0.0。
provider的parent声明了common的版本号是1.0.0。
这样parent的路径比sdk的短,所以common最后用的版本号是1.0.0。
哪怕sdk里声明了版本号也不好用。