玩转springcloud:一次性解决微服务架构jar包规范管理问题
2023-09-11 14:19:58 时间
最近在写微服务springcloud系列,由于微服务架构下,project会分的很多,业内通常的做法是一个父project,多个子module,或者父子多层嵌套。那么jar包怎么管理是最合理和规范的呢,接下来咱们就一起讨论学习下。
原则一:父工程负责jar定义和版本管理;子工程显示声明具体依赖
- 公共的jar都定义在父工程中,子工程直接继承
- 父工程定义所有jar包版本,这样可以做到统一版本控制。实际当中由于版本泛滥引起的坑不在少数,相信很多同学深受其害。
- 如果我们的工程比较复杂,引入的jar非常多的时候,父工程的pom文件就会又丑又长,一定不要惊讶。
原则二:重点说下dependencyManagement和dependencies的区别
- dependencyManagement:只是声明依赖,实际并不会引入,因此子项目需要显示声明需要的依赖,如果不声明是不会从父工程中集成下来的,这点尤其重要。子项目在声明的时候一般不写版本号,版本号逆向去父工程中查找,这样做仅仅是减少了子工程中不写版本号。如果写了版本号,子工程的版本号覆盖父工程的版本号。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
相关文章
- K8S圣经12:SpringCloud+Jenkins+ K8s Ingress 自动化灰度发布
- SpringCloud+Dubbo3 = 王炸 !
- Springcloud 中 SpringBoot 配置全集 (收藏版)
- SpringCloud-路由网关(Zuul)
- SpringCloud搭建Eureka集群
- IDEA 2021 开发 springboot springcloud springcloud Alibaba应用时application.yml配置自动提示
- 小团队真的适合引入SpringCloud微服务吗?
- 微服务技术系列教程(33) - SpringCloud-消息驱动简介&原理
- SpringCloud系列教程 | 第七篇:Spring Cloud Config 配置中心高可用和refresh
- SpringCloud Config(配置中心)实现配置自动刷新(十六)
- SpringCloud之链路追踪整合Sleuth(十三)
- SpringCloud注册中心Eureka常用配置和注解
- SpringBoot集成SpringCloud
- SpringCloud OpenFeign使用和配置,Java OpenFeign 使用教程
- 玩转springcloud:父工程中jar包依赖如何声明才是最优解,哪些需要写,哪些不需要写都总结好了请拿走
- SpringCloud+Consul配置Zuul网关服务
- springcloud 使用feign 上传图片