遇到问题,无法实例化org.springframework.data.redis.connection.jedis.JedisConnectionFactory。
2020-04-24 14:46:26,037 WARN AbstractApplicationContext.java:546 : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jedisConnFactory' defined in class path resource [applicationContext-redis.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException:
Failed to instantiate [org.springframework.data.redis.connection.jedis.JedisConnectionFactory]: Constructor threw exception;
nested exception is java.lang.NoSuchMethodError: org.springframework.util.Assert.isTrue(ZLjava/util/function/Supplier;)V
在调查的过程中发现org.springframework.util.Assert.isTrue 是存在的。
后经查询,这一类问题一般都是由于jar包的版本不正确或者有不同版本冲突。
于是去查了一下,Spring-data-redis和jedis的版本要求,果然有对应关系。在https://mvnrepository.com/search?q=spring-data-redis 查询到spring-data-redis 1.7.1版本与我所用的spring的版本匹配,它要求的redis是2.8.1。
依照要求配好后,问题就消失了。