springboot解决NoClassDefFoundError: redis/clients/jedis/util/SafeEncoder问题

 更新时间:2026年03月12日 09:08:05   作者:yssa1125001  
这篇文章主要介绍了springboot解决NoClassDefFoundError: redis/clients/jedis/util/SafeEncoder问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

这个问题纯粹是版本不兼容问题,是因为 spring-data-redis 与 jedis 的版本不兼容造成的,一般使用jedis时会出现类似问题,特别是使用jedis进行多redis数据源自定义配置时容易出现。

解决办法

步骤一

首先查看你所依赖的 spring-data-redis 版本,如果是springboot则依赖spring-boot-starter-data-redis,其内部包含了 spring-data-redis,查看其具体版本。

如图所示:

可以看到我所依赖的 spring-boot-starter-data-redis 版本是 2.0.9.RELEASE,而其内部依赖的 spring-data-redis 版本是 2.5.1 

步骤二

根据查处的 spring-data-redis 版本,去maven中心仓库查看其对应的jedis版本。

在此页面中总全局搜索jedis即可

可以看到对应的jedis版本应该为3.6.0,接下来修改pom文件中的jedis版本为对应版本即可,别忘了清下maven缓存再重启springboot。 

最后贴上我自己的pom配置

        <!-- redis 缓存操作 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <version>2.0.9.RELEASE</version>
            <exclusions>
                <!-- 不依赖Redis的异步客户端lettuce -->
                <exclusion>
                    <groupId>io.lettuce</groupId>
                    <artifactId>lettuce-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- Redis的异步客户端jedis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.6.0</version>
        </dependency>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法

    spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法

    这篇文章主要介绍了spring-boot通过@Scheduled配置定时任务,文中还给大家介绍了springboot 定时任务@Scheduled注解的方法,需要的朋友可以参考下
    2017-11-11
  • Java提示解析时已到达文件结尾的解决方法

    Java提示解析时已到达文件结尾的解决方法

    在本篇文章中小编给大家分享了关于Java提示解析时已到达文件结尾的解决方法,需要的朋友们学习下。
    2019-07-07
  • SpringBoot3.x循环依赖问题解决方案

    SpringBoot3.x循环依赖问题解决方案

    这篇文章主要介绍了SpringBoot3.x循环依赖的相关知识,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Java布隆过滤器的原理和实现分析

    Java布隆过滤器的原理和实现分析

    数组、链表、树等数据结构会存储元素的内容,一旦数据量过大,消耗的内存也会呈现线性增长所以布隆过滤器是为了解决数据量大的一种数据结构。本文就来和大家详细说说布隆过滤器的原理和实现,感兴趣的可以了解一下
    2022-10-10
  • mybatis拦截器实现数据权限项目实践

    mybatis拦截器实现数据权限项目实践

    本文主要介绍了mybatis拦截器实现数据权限项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • IDEA实现Maven项目创建并连接Tomcat方式

    IDEA实现Maven项目创建并连接Tomcat方式

    Maven是一款由Apache开发的项目管理工具,主要用于Java项目的构建和依赖管理,它通过pom.xml文件自动管理项目依赖的jar包,简化了项目构建过程,Maven支持项目从编写源代码到编译、测试、打包、部署的全过程管理,其依赖管理功能免去了手动添加jar包的麻烦
    2024-10-10
  • MyBatis如何使用(二)

    MyBatis如何使用(二)

    这篇文章主要介绍了MyBatis如何使用(二)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • SpringSecurity在分布式环境下的使用流程分析

    SpringSecurity在分布式环境下的使用流程分析

    文章介绍了Spring Security在分布式环境下的使用,包括单点登录(SSO)的概念、流程图以及JWT(JSON Web Token)的生成和校验,通过使用JWT和RSA非对称加密,可以实现安全的分布式认证,感兴趣的朋友一起看看吧
    2025-02-02
  • Gradle构建多模块项目的方法步骤

    Gradle构建多模块项目的方法步骤

    这篇文章主要介绍了Gradle构建多模块项目的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • java实现DWG文件转图片的示例代码

    java实现DWG文件转图片的示例代码

    在Java中将DWG文件转换为图片是一个常见的需求,下面将详细介绍如何使用Java将DWG文件转换为图片,并探讨几个流行的解决方案,大家可以根据需要进行选择
    2025-10-10

最新评论