当前位置: 首页 > 面试题库 >

为什么在使用Spring Redis时收到JedisConnection的NoClassDefFound错误

赫连冠玉
2023-03-14
问题内容

您好,当我尝试使用spring-redis时

java.lang.NoClassDefFoundError: Could not initialize class org.springframework.data.redis.connection.jedis.JedisConnection

使用Redis进行任何连接操作时发生异常。我的配置方法是这样的

 @Bean
public RedisConnectionFactory jedisConnFactory() {
    JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();

    jedisConnectionFactory.setHostName("XXX.XX.XX.XXX");

    jedisConnectionFactory.setPort(6381);
    jedisConnectionFactory.setUsePool(true);
    jedisConnectionFactory.afterPropertiesSet();
    return jedisConnectionFactory;

请提出建议,如果有人知道我为什么收到此例外。


问题答案:

浪费了将近一天的时间后,发现jar已经在我的类路径中,我进一步对其进行了调试,发现当java的反射机制试图查找“方法列表”中已经存在的方法时,它无法找到由于
Jedis版本(2.7.2)与Spring Data Redis(1.5.0.RELEASE)不兼容 之间 存在



 类似资料:
  • 当我尝试使用spring-redis时,你好 使用Redis执行任何连接操作时发生异常。我的config方法如下所示

  • 问题内容: ABstractMethodError的可能原因是什么? 线程“ pool-1-thread-1”中的异常java.lang.AbstractMethodError: 问题答案: 简单的答案是这样的:一些代码试图调用一个声明的方法。抽象方法没有主体,无法执行。由于您提供的信息很少,因此我无法真正详细说明如何发生这种情况,因为编译器通常会遇到此问题- 如此处所述,这意味着该类必须在运行时

  • 我试图解析一个,但我失败得很惨。我最初认为只是没有在响应中返回,因此我通过直接链接到我的在线文件,精心编制了下面的代码。我能够毫无问题地将打印到屏幕上。然而,当我调用我的解析方法时,我得到了文件的过早结束。 如果我直接传递URL,它会起作用: builder.parse (""); 但当我传递InputStream时失败: > 我得到的错误:

  • 问题内容: 当我尝试编译该程序时,在第21行出现“无法到达的语句”错误: 完整的编译器输出为: 我 认为 这些语句在正确的地方…至少在我看来似乎是正确的,并且与我从中克隆的程序相比,该程序看起来是如此简单,以至于我很难确定为什么要这样做。语句无法到达。 复制代码时我做错了什么,我该如何纠正? 问题答案: 您以为您的问题在这里是对的: 该函数将 终止 您的方法,这意味着将不执行任何超出代码的行。如果

  • 我刚刚将lambda(使用gitlab runner中的Terraform)部署到一个新的aws帐户。此管道将lambda部署到另一个(dev/test)帐户而没有问题,但是当我尝试部署到我的prod帐户时,我得到以下错误: 我在反复强调这句话,“密文指的是一个客户主密钥,它不存在,在这个地区不存在,或者不允许您访问。” 我已经确认,env vars的加密配置设置为使用默认的aws/lambda密

  • 问题内容: 我正在遵循一个教程来尝试学习如何使用BeautifulSoup。我正在尝试从下载的HTML页面上的URL中删除名称。至此,我的工作非常顺利。 但是当我进入下一部分时 我得到这个错误 问题答案: 这是IDLE和BeautifulSoup对象(子类)之间的错误交互。见问题1757057;已经有一段时间了。 解决方法是先将对象转换为纯unicode值: