redis + Jedis + Spring报错Type 'redis/clients/jedis/JedisPoolConfig'(current frame, stack[4]) is not a

本文主要是介绍redis + Jedis + Spring报错Type 'redis/clients/jedis/JedisPoolConfig'(current frame, stack[4]) is not a,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

redis + Jedis + Spring集成之后运行报以下错误:

 

log4j:WARNNo appenders could be found for logger(org.springframework.core.env.StandardEnvironment).

log4j:WARNPlease initialize the log4j system properly.

SLF4J:Failed to load class "org.slf4j.impl.StaticLoggerBinder".

SLF4J:Defaulting to no-operation (NOP) logger implementation

SLF4J:See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

Exceptionin thread "main" java.lang.VerifyError: Bad type on operand stack

ExceptionDetails:

  Location:

    org/springframework/data/redis/connection/jedis/JedisConnectionFactory.createRedisSentinelPool(Lorg/springframework/data/redis/connection/RedisSentinelConfiguration;)Lredis/clients/util/Pool;@57: invokespecial

  Reason:

    Type 'redis/clients/jedis/JedisPoolConfig'(current frame, stack[4]) is not assignable to'org/apache/commons/pool2/impl/GenericObjectPoolConfig'

  Current Frame:

    bci: @57

    flags: { }

    locals: {'org/springframework/data/redis/connection/jedis/JedisConnectionFactory','org/springframework/data/redis/connection/RedisSentinelConfiguration' }

    stack: { uninitialized 0, uninitialized 0,'java/lang/String', 'java/util/Set', 'redis/clients/jedis/JedisPoolConfig',integer, 'java/lang/String' }

  Bytecode:

    0000000: bb00 2359 2bb6 0024 b900 2501 002a2bb6

    0000010: 0026 b700 272a b600 28c6 000a 2ab60028

    0000020: a700 0abb 0007 59b7 0008 2a2a b60012b7

    0000030: 0029 2ab6 0012 b600 2ab7 002bb0      

  Stackmap Table:

   full_frame(@35,{Object[#151],Object[#152]},{Uninitialized[#0],Uninitialized[#0],Object[#172],Object[#173]})

   full_frame(@42,{Object[#151],Object[#152]},{Uninitialized[#0],Uninitialized[#0],Object[#172],Object[#173],Object[#153]})

 

    at java.lang.Class.getDeclaredConstructors0(Native Method)

    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2532)

    at java.lang.Class.getDeclaredConstructors(Class.java:1901)

    atorg.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:234)

    atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1040)

    atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1013)

    atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)

    atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)

    atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)

    atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)

    atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)

    atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)

    atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700)

    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)

    atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)

    at com.alifi.uums.start.StartApp.main(StartApp.java:22)

 

最后定位原因是因为jar包版本的原因,修改之前的jar包为:

jedis-2.1.0.jar + spring-data-redis-1.7.1.RELEASE.jar

最后决定将jedis-2.1.0.jar升级为jedis-2.9.0.jar

重新启动项目就没报错了

 

这篇关于redis + Jedis + Spring报错Type 'redis/clients/jedis/JedisPoolConfig'(current frame, stack[4]) is not a的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/895984

相关文章

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编