ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Redisson 与 Spring Boot 依赖版本冲突的排查与修复步骤

2026/9/5 16:25:22 拓冰建站 浏览量
Redisson 与 Spring Boot 依赖版本冲突的排查与修复步骤 Redisson 与 Spring Boot 依赖版本冲突的排查与修复步骤【免费下载链接】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 项目里引入 Redisson 后构建或启动阶段出现依赖版本冲突时如何一步步定位并修好。读完你会掌握三件事识别 3 类典型报错、看懂冲突的 3 类成因、用“替换 spring-data 模块 统一依赖版本”两个动作让构建恢复通过。如何识别版本冲突的典型报错先看日志判断你是否踩了这个坑。以下三种特征占绝大多数情况java.lang.NoClassDefFoundError: org/springframework/data/redis/... java.lang.NoSuchMethodError: org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory... BeanCreationException: Error creating bean with name redissonAutoConfiguration前两类错误出现在启动时说明 Redisson 调用的 Spring Data Redis 方法或类在当前 classpath 的版本里不存在属于API 代际不匹配第三类错误说明自动配置类在实例化 Redisson 相关 Bean 时失败通常指向 RedissonAutoConfiguration.java 所依赖的RedisConnectionFactory接口版本对不上。注意堆栈里报错的类包名凡是以org/springframework/data/redis开头的基本可以锁定问题出在 Redisson 的 spring-data 适配模块上。Redisson 与 Spring 版本错位的三类成因成因为什么会冲突一句话spring-data 模块代际不匹配starter 默认携带适配最新 Boot 大版本的redisson-spring-data-4x模块项目 Boot 版本更低时Spring Data Redis API 已不一致传递依赖混入旧版 Spring Data别的三方库传递引入了旧版spring-data-redisMaven 按“最近优先”仲裁后运行时新旧类混载starter 与 Boot 大版本超出兼容范围Redisson 每个版本只支持一个 Spring Boot 区间升级 Boot 大版本而 Redisson 没跟上时自动配置直接失效替换 redisson-spring-data 模块匹配 Boot 版本先执行这条命令确认 classpath 上实际生效的版本mvn dependency:tree -Dincludesorg.redisson:*,org.springframework.data:* -Dverbose关注输出中redisson-spring-data-xx的编号和spring-data-redis的最终胜出版本。若模块编号与你项目的 Boot 大版本不符模块与 Boot 版本的对应表见 docs/integration-with-spring.md用 exclusions 换掉它再显式加入匹配模块dependency groupIdorg.redisson/groupId artifactIdredisson-spring-boot-starter/artifactId version4.7.0/version exclusions exclusion groupIdorg.redisson/groupIdartifactIdredisson-spring-data-41/artifactId /exclusion /exclusions /dependencydependency groupIdorg.redisson/groupId artifactIdredisson-spring-data-27/artifactId version4.7.0/version /dependency各版本模块源码都在 redisson-spring/redisson-spring-data/ 目录下命名规则是redisson-spring-data-Boot主版本。验证方式mvn clean spring-boot:run启动不再报 NoClassDefFoundError并让RedisTemplate与RMap各读写一次确认双向可用。用 dependencyManagement 统一 Spring 依赖版本若依赖树里出现多个spring-data-redis版本并伴随omitted for conflict字样说明是传递依赖抢版本。在项目根 pom 的dependencyManagement中导入与你 Boot 版本一致的 BOM强制所有传递依赖向它对齐dependencyManagement dependencies dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-dependencies/artifactId version3.5.8/version typepom/typescopeimport/scope /dependency /dependencies /dependencyManagement执行后重新跑mvn dependency:tree -Dverbose关注同一构件是否只剩一个版本、omitted标记是否消失最后用启动加业务读写验证。防复发锁版本并在升级前查兼容表两条长期做法成本都很低把 Redisson 与 Spring 的版本都收进 dependencyManagement新增依赖时不写版本号避免后续依赖悄悄引入旧版 Spring Data。升级 Spring Boot 大版本前先看 redisson-spring/redisson-spring-boot-starter/pom.xml 中spring-boot.version属性标注的适配上限以及文档中的模块对应表确认当前 Redisson 版本是否覆盖目标版本再决定是否同步升级 Redisson。【免费下载链接】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),仅供参考