我是靠谱客的博主 干净鸭子,最近开发中收集的这篇文章主要介绍NoSuchMethodError redis.clients.jedis.Jedis.expire([BI)Ljava/lang/Long;,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
在对SpringBoot项目升级的时候,把2.1.8.RELEASE 升级到了 2.3.2.RELEASE ,运行后发现,
在获取在线用户的时候,报了一个错误:
NoSuchMethodError redis.clients.jedis.Jedis.expire([BI)Ljava/lang/Long;
这里调的方法是业务里获取在线用户的方法,
项目引入了 Shiro ,引入了Shiro-redis 这个开源项目
<dependency>
<groupId>org.crazycake</groupId>
<artifactId>shiro-redis</artifactId>
<version>3.2.3</version>
</dependency>
Debug 发现 ,底层调用了 scanResult.getStringCursor() 这个方法
而SpringBoot 2.3 依赖的jedis 的版本为 3.1,已经改为 public String getCursor() 这个方法了 ,没有了 2.9.3 getStringCursor() 方法
解决方法
由于 Shiro-redis 已经不再维护了,那么只能手动引入 jedis的 2.9.3 版本
在pom.xml
<properties>
<jedis.version>2.9.3</jedis.version>
</properties>
最后
以上就是干净鸭子为你收集整理的NoSuchMethodError redis.clients.jedis.Jedis.expire([BI)Ljava/lang/Long;的全部内容,希望文章能够帮你解决NoSuchMethodError redis.clients.jedis.Jedis.expire([BI)Ljava/lang/Long;所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复