您好,当我尝试使用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;
请提出建议,如果有人知道我为什么收到此异常(exception)。
最佳答案
在浪费了将近一天的时间后,发现jar已经在我的类路径中,我进一步对其进行了调试,发现当Java的反射机制试图查找“方法列表”中已经存在的方法时,它无法找到由于 Jedis版本(2.7.2)与Spring Data Redis(1.5.0.RELEASE)不兼容之间存在某些版本冲突,因此此链接中已经回答了以下问题:
Jedis and spring data redis version conflict