java - NoSuchMethodError: org.springframework.data.redis.core.RedisTemplate.delete(Ljava/lang/Object;)V 同时将 Spring boot 从 1.5.3 升级到 2.1.6
问题描述
我正在将 spring boot 从 1.5.3 版本升级到 2.1.6 版本。我添加了以下依赖项:
classpath('org.springframework.boot:spring-boot-gradle-plugin:2.1.6.RELEASE')
compile('org.springframework.boot:spring-boot-starter-data-redis')
{
exclude group: 'io.lettuce', module: 'lettuce-core'
}
compile('redis.clients:jedis:2.9.0')
我收到以下错误:
引起:java.lang.NoSuchMethodError: org.springframework.data.redis.core.RedisTemplate.delete(Ljava/lang/Object;)V at com.aonhewitt.upoint.cache.config.provider.impl.RedisCacheObjectProviderImpl.delete( RedisCacheObjectProviderImpl.java:292) 在 com.aonhewitt.upoint.cache.util.DistributedCacheUtil.deleteCacheKey(DistributedCacheUtil.java:490) 在 com.aonhewitt.upoint.cache.util.DistributedCacheUtil$$FastClassBySpringCGLIB$$$10d7e0fa.invoke() 在org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) 在 org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684) 在 com.aonhewitt.upoint.cache.util。 DistributedCacheUtil$$EnhancerBySpringCGLIB$$15db3ca8.deleteCacheKey() 在 com.aonhewitt.upoint.portal.configuration.util.ConfigurationParmUtil。manageClntParmKeysInRedis(ConfigurationParmUtil.java:49) 在 com.aonhewitt.portal.configuration.workengine.ConfigurationController.processRequest(ConfigurationController.java:234) 在 com.aonhewitt.portal.configuration.workengine.ConfigurationGateway.processRequest(ConfigurationGateway.java:56)在 com.aonhewitt.portal.configuration.service.util.ConfigurationInit.load(ConfigurationInit.java:34) 在 com.aonhewitt.upoint.core.ConfigMgrStartUp.init(ConfigMgrStartUp.java:59) 在 sun.reflect.NativeMethodAccessorImpl.invoke0 (本机方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498 ) 在 org.springframework.beans.factory.annotation。InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:363) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:307) at org.springframework.beans.factory.anforeProcessor.Innotation.Init
解决方案
你已经拥有了 starter-data-redis 和 jedis-client。Jedis 与 spring-data-redis 一起工作。或者 starter-data-redis 自己工作。以下组合对我有用:
org.springframework.data:spring-data-redis:jar:2.4.8:compile redis.clients:jedis:jar:3.3.0:compile
推荐阅读
- excel - 使用vba打开word
- reactjs - 如何在一个 Redux store 下设置 2 个 React 组件
- css - @media system.media 是一个命名空间
- python - Azure函数错误线程中没有当前事件循环
- c# - 在 Microsoft.EntityFrameworkCore.SqlServer 5.0.8 C# 中使用复合键进行更新
- html - 在调整大小时更改引导导航栏颜色
- php - yii2 index.php 运行失败
- ios - 使用 Apple Connect API 下载 dSYM 文件?
- google-cloud-run - 构建 Cloud Run 容器时的 IAM 权限问题
- r - 颜色二维密度图不是按ggplot中的计数