【踩坑】解决谷粒商城整合 renren-fast 项目时 Spring 版本冲突问题

在将renren-fast项目与SpringCloudAlibaba集成时遇到NoClassDefFoundError,原因在于版本不匹配。通过统一SpringBoot版本,删除不必要的依赖,并导入统一的SpringCloudAlibaba依赖管理,解决了冲突并确保服务发现正常工作。
摘要由CSDN通过智能技术生成

最近在学谷粒商城项目,其中一个步骤是把 renren-fast 项目与 Spring Cloud Alibaba Nacos 整合起来,以便路由模块发现相关服务。然而在引入 common 依赖之后再运行,出现了如下报错:

java.lang.NoClassDefFoundError: org/springframework/boot/Bootstrapper

经过调查发现原因是 Spring Boot 和 Spring Cloud Alibaba 的版本冲突导致的。我的其他模块用的是 2.7.16:

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.7.16</version>
	<relativePath/> <!-- lookup parent from repository -->
</parent>

然而 renren-fast 使用的是 2.6.6,直接改成 2.7.16 之后又出现了一些其他的依赖问题,折腾了一会之后发现如下做法可以解决问题:

  1. 将 renren-fast 的 <parent> 标签中的版本改成和其他项目一致,我这里是改成 2.7.16
  2. 删除 renren-fast 中 mysql-connector-java 相关的依赖,然后运行 mvn clean install -U 命令(如果使用的是 Intellj IDEA,直接更新 pom 后应该会出现一个报错信息,下边有一个类似的链接,直接点击链接运行命令就可以了)
  3. 把其他项目中 spring 的 <dependencyManagement> 复制过来,我的长这个样子:
    <dependencyManagement>
        <dependencies>
            <!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-alibaba-dependencies -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2021.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

这三个步骤之后再运行,应该就不会再出现问题了,其实最主要的还是把 spring 的版本统一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值