资讯动态

Redisson Spring Boot Starter 依赖冲突:3 步定位版本错配,10 分钟修好启动失败

发布时间:2026/9/5 22:10:34 来源:尧图企业网站定制
Redisson Spring Boot Starter 依赖冲突3 步定位版本错配10 分钟修好启动失败【免费下载链接】redissonRedisson: Valkey Redis Java Client and Real-Time Data Platform. Sync/Async/RxJava/Reactive API. Over 50 Valkey and Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Bloom filter, Spring, Tomcat, Scheduler, JCache API, Hibernate, RPC, local cache..项目地址: https://gitcode.com/GitHub_Trending/re/redisson升级 Spring Boot 后服务起不来日志满屏 NoClassDefFoundError堆栈指向 Actuator 的 Endpoint 注解类——这是典型的 Redisson Spring Boot Starter 依赖冲突。这份排障笔记记录从识别症状到修复依赖树的完整路径。 症状识别认出 Redisson NoClassDefFoundError 的这几行日志先别急着动 pom。只有启动日志里出现下面这种报错才需要按这条路往下查java.lang.NoClassDefFoundError: org/springframework/boot/actuate/endpoint/annotation/Endpoint Caused by: java.lang.ClassNotFoundException: org/springframework/boot/actuate/endpoint/annotation/Endpoint两类相似报错要先排除。堆栈缺的是 Redisson 自己的类比如 org/redisson/api 下的接口多半是打包漏了 jar与版本错配无关报 RedisConnectionException、连接超时的是网络或配置问题改依赖树没有意义。对号入座错方向会浪费你半天。 根因定位依赖树排查命令手动查出冲突模块在项目根目录跑这条命令看 starter 拉进来的子树mvn dependency:tree | grep -E redisson|spring-boot你大概率会看到 starter 下面挂着一个 redisson-spring-data-4x 模块而你项目的 Spring Boot 还是 2.x 或 3.x。你看到的“starter 版本没问题”其实意味着“它默认携带的 spring-data 模块是按更新的 Spring Data Redis 编译的”。starter 的 pom.xml 里 import 了最新的 spring-boot-dependencies默认配套模块只服务最新的 Spring BootActuator 在它内部是 provided optional 声明本身并不传递。真正的裂缝在于你工程里的 Spring 组件与 Redisson 侧 spring-data 模块来自不同大版本类加载就在这个落差里失败。 修复路线对比三种改法的适用场景适用场景改动范围适合谁Spring Boot 版本偏旧starter 默认的 spring-data 模块太新pom 里加一段 exclusion再补一个匹配的 redisson-spring-data 依赖刚发现问题、想快速恢复环境的团队Netty、Actuator、Data Redis 等多个组件版本互相脱节pom 的 properties 里补一两行版本属性长期维护、CI 统一管理版本的项目部分环境没有 Redis或自动配置类是冲突源头排除自动配置类配置类里手动注册 RedissonClient需要完全掌控初始化过程的多环境部署️ 主推修法排除依赖 换配 redisson-spring-data 版本最通用的是换装对应版本先排除 starter 默认携带的模块再手动声明与你 Spring Boot 匹配的版本。完整版本对照见 Spring 集成文档简化如下Spring Boot 1.3.y / 1.4.y / 1.5.y → redisson-spring-data-16 / -17 / -18Spring Boot 2.x.y → redisson-spring-data-2x2.7.x 用 -27Spring Boot 3.x.y → redisson-spring-data-3x3.0.x 用 -30Spring Boot 4.x.y → redisson-spring-data-4x如 -40以“Spring Boot 2.7、starter 默认携带 4x 模块”为例最小可用配置dependency groupIdorg.redisson/groupId artifactIdredisson-spring-boot-starter/artifactId versionx.x.x/version exclusions exclusion groupIdorg.redisson/groupId artifactIdredisson-spring-data-41/artifactId /exclusion /exclusions /dependency dependency groupIdorg.redisson/groupId artifactIdredisson-spring-data-27/artifactId versionx.x.x/version /dependency两个依赖保持同一个 Redisson 版本号否则 starter 与 spring-data 模块之间还可能差一个版本。Gradle 的写法类似语法见官方文档。另外两种修法各一句话带过版本锁定走 properties官方 FAQ 明确说 Netty 冲突时声明netty.version属性即可生效排除自动配置则是在主类上加EnableAutoConfiguration(exclude ...)Spring Boot 2.7 以上排 RedissonAutoConfigurationV2、2.6 及以下排 RedissonAutoConfiguration、4.0 排 RedissonAutoConfigurationV4再用Redisson.create(config)自建客户端。✅ 修复后自检清单确认版本不兼容已消除完整重启一次日志无 NoClassDefFoundErrorRedissonClient 与 RedisTemplate 都能注入重跑依赖树命令确认 classpath 里只剩一个 redisson-spring-data 版本Redisson 各坐标的版本收敛到同一处声明下次升级不会漏改带 Actuator 时其版本与 Spring Boot BOM 一致健康检查端点能正常返回换一台干净机器再启动一次确认不是本地仓库缓存掩盖了问题如果还叠加了 Spring Session 或 Spring Cache选版本的逻辑完全一致直接查 Spring 集成文档。【免费下载链接】redissonRedisson: Valkey Redis Java Client and Real-Time Data Platform. Sync/Async/RxJava/Reactive API. Over 50 Valkey and Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Bloom filter, Spring, Tomcat, Scheduler, JCache API, Hibernate, RPC, local cache..项目地址: https://gitcode.com/GitHub_Trending/re/redisson创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价