总述

组件类型 组件说明 公共组件依赖引用规范
独立业务服务组件 独立部署运行的业务 各模块按职责引入依赖,依赖范围使用 compile
公共业务服务组件 提供给第三方业务接入使用的组件 非启动模块的依赖范围优先使用 provided;启动模块的依赖范围使用 compile
公共基础组件 提供基础工具类和配置 扩展模块的依赖范围使用 compile

独立业务服务组件

组件作为一个独立部署运行的服务,不提供给第三方使用,组件的各模块按照对应的职责引入对应的公共组件依赖,依赖范围使用 compile

举例:lcp-app 作为一个独立部署的工程服务,划分了多个模块,每个模块按职责引入对应的公共组件依赖

  • lcp-app-api 模块
    <dependency>
      <groupId>com.cvte.csb</groupId>
      <artifactId>csb-web</artifactId>
    </dependency>
  • lcp-app-core 模块
    <dependency>
      <groupId>com.cvte.csb</groupId>
      <artifactId>csb-jdbc</artifactId>
    </dependency>

公共业务服务组件

组件提供公共的业务服务,可以提供给第三方业务接入使用,这类型组件在引用公共组件依赖时优先使用 provided

举例:csb-statemachine 作为一个公共业务服务组件,提供给第三方业务接入使用

  • csb-statemachine-admin 模块
    <dependency>
      <groupId>com.cvte.csb</groupId>
      <artifactId>csb-web</artifactId>
      <scope>provided</scope>
    </dependency>
  • csb-statemachine-client 模块
    <dependency>
      <groupId>com.cvte.csb</groupId>
      <artifactId>csb-cloud</artifactId>
      <scope>provided</scope>
    </dependency>

如果公共业务组件可以作为一个独立部署运行的服务,必要的公共组件依赖统一在 starter 模块中进行引用,依赖范围使用 compile

举例

  • csb-view-admin-starter 模块
    <dependency>
      <groupId>com.cvte.csb</groupId>
      <artifactId>csb-web</artifactId>
    </dependency>

公共基础组件

基础组件基于某一个已有的公共组件进行扩展,扩展模块的公共组件依赖引用范围使用 compile

举例:lcp-base 基于已有公共组件进行扩展,提供给低代码各服务进行使用

  • lcp-base-cloud 基于 csb-cloud 进行扩展
    <dependency>
      <groupId>com.cvte.csb</groupId>
      <artifactId>csb-cloud</artifactId>
    </dependency>
  • lcp-base-web 基于 csb-web 进行扩展
    <dependency>
      <groupId>com.cvte.csb</groupId>
      <artifactId>csb-web</artifactId>
    </dependency>

依赖冲突处理

推荐使用 IDEA 插件 Maven Helper

作者:聂维  创建时间:2023-05-22 11:46
最后编辑:黄泽彬  更新时间:2024-12-23 11:22