zl程序教程

您现在的位置是:首页 >  后端

当前栏目

玩转springcloud:一次性解决微服务架构jar包规范管理问题

SpringCloudjar架构服务 解决 管理 玩转 规范
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>