本片教程基于spring官网以及springcloudalibaba的github项目的版本说明

一. 确定springcloud版本

  1. 先到spring官网查看springcloud的基本介绍
    往下翻可以看到springcloud与springboot的版本关系图
    在这里插入图片描述
  2. 举例:我的项目选用的springboot3.0.13,那么对应的springcloud版本就是2020.0.x
    然后可以点击下图所示查看2020.0.x都有哪些小版本,自己选一个即可
    在这里插入图片描述

二. 确定springcloudalibaba版本

现在假设咱们确定好了springboot3.013和springcloud2022.0.2,如何确认springcloudalibaba版本呢

  1. 进入springcloudalibaba的github项目中的wiki的版本说明一栏,点击这里一键跳转
    在这里插入图片描述
    在这里插入图片描述
  2. 找到springcloud2022.0.x和springboot(3.0.13>3.0.2)对应的一栏
    在这里插入图片描述

那么我们的springcloudalibaba版本就是2022.0.0.0

三. 如何在springcloud项目中指定版本呢

在父模块中的pom文件中确定版本号

<!-- 定义项目的属性 -->
    <properties>
        <!-- 定义Java版本 -->
        <java.version>17</java.version>
        <!-- 定义Maven编译器的源代码版本 -->
        <maven.compiler.source>17</maven.compiler.source>
        <!-- 定义Maven编译器的目标版本 -->
        <maven.compiler.target>17</maven.compiler.target>
        <!-- 定义项目构建的源编码 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- 定义项目报告的输出编码 -->
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- 定义是否跳过测试 -->
        <skipTests>true</skipTests>

        <!-- 定义Spring Cloud版本 -->
        <spring.cloud.version>2022.0.2</spring.cloud.version>
        <!-- 定义Spring Cloud Alibaba版本 -->
        <spring.cloud-alibaba.version>2022.0.0.0</spring.cloud-alibaba.version>
        <!-- 定义Lombok版本 -->
        <lombok.version>1.18.30</lombok.version>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.13</version>
    </parent>

    <!-- 依赖管理 -->
    <dependencyManagement>
        <dependencies>
            <!-- Spring Cloud 依赖 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- Spring Cloud Alibaba 依赖 -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- Lombok 依赖 -->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
                <optional>true</optional>
            </dependency>
        </dependencies>
    </dependencyManagement>

四. 为什么不需要引入spring-boot-dependencies来控制版本呢

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.13</version>
    </parent>

上面的pom示例指定了spring-boot-starter-parent:3.0.13为父项目,点进去可以看到spring-boot-starter-parent指定了spring-boot-dependencies为父项目
在这里插入图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐