您好,当我尝试使用 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;
请建议是否有人知道我为什么会收到此异常。
原文由 Anand Kadhi 发布,翻译遵循 CC BY-SA 4.0 许可协议
浪费了将近一天的时间,发现jar已经在我的类路径中,我进一步调试它,发现当java的反射机制试图找到一个已经存在于“方法列表”中的方法时,它无法找到由于 Jedis 版本 (2.7.2) 与 Spring Data Redis (1.5.0.RELEASE) 不兼容的 版本冲突,此问题已在此链接中得到解答:
Jedis和spring data redis版本冲突