You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加spring-boot-starter-data-redis后Spring Boot启动Tomcat失败求助

解决Spring Boot引入spring-boot-starter-data-redis后Tomcat启动失败的问题

我之前也碰到过一模一样的问题,咱们来一步步拆解解决它。首先先还原下你遇到的报错场景:

2020-01-09 14:20:15的报错显示无法启动嵌入式Tomcat,根源为java.lang.NoClassDefFoundError: reactor/core/scheduler/Schedulers(对应java.lang.ClassNotFoundException: reactor.core.scheduler.Schedulers),进而导致redisConnectionFactory、cacheManager、healthEndpoint等一系列Bean创建失败,最终引发ApplicationContext初始化异常,应用启动失败。

问题核心原因

这个报错的本质是项目缺少Reactor Core相关依赖。Spring Boot的spring-boot-starter-data-redis默认使用Lettuce作为Redis客户端,而Lettuce是基于Reactor框架的响应式客户端,它依赖reactor-core类库中的Schedulers等核心类。如果你的项目没有引入响应式相关的starter(比如spring-boot-starter-webflux),就会出现这个类找不到的问题,进而连锁影响Redis相关Bean的创建,最终导致整个应用上下文初始化崩溃。

两种可行解决方案

你可以根据自己的项目需求任选一种:

方案一:补充Reactor Core依赖(继续用Lettuce)

如果想保留Lettuce的响应式特性,只需要在依赖管理文件中添加reactor-core依赖即可:

  • Maven(pom.xml):
<dependency>
    <groupId>io.projectreactor</groupId>
    <artifactId>reactor-core</artifactId>
</dependency>
  • Gradle:
implementation 'io.projectreactor:reactor-core'

方案二:切换到Jedis客户端(不需要响应式特性)

如果你的项目用不到响应式能力,可以把Redis客户端换成传统阻塞式的Jedis,这样就完全不需要依赖Reactor类库了:

  • Maven(pom.xml):
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <exclusions>
        <!-- 排除默认的Lettuce依赖 -->
        <exclusion>
            <groupId>io.lettuce</groupId>
            <artifactId>lettuce-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- 引入Jedis依赖 -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
</dependency>
  • Gradle:
implementation('org.springframework.boot:spring-boot-starter-data-redis') {
    // 排除Lettuce
    exclude group: 'io.lettuce', module: 'lettuce-core'
}
// 引入Jedis
implementation 'redis.clients:jedis'

选其中一种方案修改后,重新构建启动项目,应该就能顺利解决Tomcat启动失败的问题了。

内容的提问来源于stack exchange,提问作者Suban Dhyako

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 09:47:40