共用依赖的管理
io.spring.dependency-management插件
Spring开发的一个依赖关系管理的gradle插件
平时开发时会引用到很多spring依赖的包,有时这些包的版本号不一致,会出现一些莫名的问题,给开发调试带来极大的麻烦。采用spring开发的这个组件可以很方便的解决这种问题,比如这样:
dependencies {
implementation("org.springframework.boot:spring-boot-starter-jdbc")
implementation("org.springframework.boot:spring-boot-starter-data-redis")
}
这里不需要再关联各个spring包的依赖关系,只需要指定一个spring-boot-gradle-plugin版本号即可,所有spring相关依赖版本由spring插件管理。
WHY
上面已经说了spring这种方式的好处,然后受到spring这种管理包的方式的启发,引申到自己多个项目的维护上,如果用这种方式可以方便的解决包的冲突和版本问题的控制。
现在工作中会有多个微服务,然后相互之间会有依赖关系。之前经常会遇到同一个jar包,不同版本之间的冲突,使用这种方式将一些共用的底层的工具包抽取出来封装,就很方便。
HOW
核心用到io.spring.dependency-management,maven–publish插件,具体代码合使用方式可参考我自己写的一个demo