错误详细
java.lang.NoSuchMethodError: org.redisson.Redisson.getCommandExecutor()Lorg/redisson/command/CommandAsyncExecutor;
at org.redisson.spring.data.connection.RedissonConnection.(RedissonConnection.java:77) ~[redisson-spring-data-24-3.15.5.jar:3.15.5]
at org.redisson.spring.data.connection.RedissonConnectionFactory.getConnection(RedissonConnectionFactory.java:113) ~[redisson-spring-data-24-3.15.5.jar:3.15.5]
at org.springframework.data.redis.core.RedisConnectionUtils.fetchConnection(RedisConnectionUtils.java:193) ~[spring-data-redis-2.5.1.jar:2.5.1]
at org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:144) ~[spring-data-redis-2.5.1.jar:2.5.1]
at org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:105) ~[spring-data-redis-2.5.1.jar:2.5.1]
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:209) ~[spring-data-redis-2.5.1.jar:2.5.1]
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:189) ~[spring-data-redis-2.5.1.jar:2.5.1]
at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) ~[spring-data-redis-2.5.1.jar:2.5.1]
at org.springframework.data.redis.core.DefaultValueOperations.set(DefaultValueOperations.java:236) ~[spring-data-redis-2.5.1.jar:2.5.1]
问题分析
在网上搜索了一下错误的内容,大多数都是说引用的依赖有问题,比如这个文章。起初我是不相信的,后来看了一下自己项目的依赖:
发现redisson这个依赖引入了2个版本,一个是3.1.4.1,另外一个是3.15.5。
解决方法
把3.1.4.1修改成了3.15.5。
然后maven reimport。
重启后运行没有报错。