MateCloud的统一依赖管理功能

MateCloud的核心模块工具类

matecloud集成了mate-core的模块工具类,此工具类可拆可合,如果用于公司项目时,可以直接把它独立出来,也可以集成在项目中,目前的maven的配置,就是按独立模块规划,不对matecloud的父类产品依赖,其pom文件如下:

    <modelVersion>4.0.0</modelVersion>

    <artifactId>mate-core</artifactId>
    <groupId>vip.mate</groupId>
    <version>2021.1.0-M1</version>
    <packaging>pom</packaging>
    <name>mate-core</name>
    <description>based on Spring Cloud Alibaba microservice components</description>
    <url>https://github.com/matevip/matecloud</url>

此工具类已经发布到公共仓库,如果直接用于项目,可以不用install到本地,直接使用依赖+版本即可。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>vip.mate</groupId>
            <artifactId>mate-starter-dependencies</artifactId>
            <version>2.3.8</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

统一依赖模块

mate-starter-dependencies,这个统一依赖模块集成了matecloud项目中所有用到的依赖包。这样便于依赖的统一管理,避免因不同版本的jar包导致项目中存在冲突的情况。
统一依赖,可以直接查看源码:https://gitee.com/matevip/matecloud/blob/dev/mate-core/mate-starter-dependencies/pom.xml
这里不贴出源码。

这里面一共包含两类依赖,一类是公共的jar包,另一类是自己封装的模块。简要的示例如下:

            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>mate-starter-database</artifactId>
                <version>${matecloud.core.version}</version>
            </dependency>

以上版本是自有模块中的数据库模块的引入模式。

            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${alibaba.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

以上是引入了spring cloud alibaba的微服务模块