项目场景:
springboot整合redis时出现NoSuchMethodError错误
问题描述:
springboot整合redis测试时出现
java.lang.NoSuchMethodError:com.fasterxml.jackson.core.JsonParser.getReadCapabilities()
redisTemplate.opsForValue().set(“name”,“lisa”);执行没有问题
redisTemplate.opsForValue().get(“name”)+"";报错
@GetMapping
public String testRedis(){
// 向redis设置值
redisTemplate.opsForValue().set("name","lisa");
// 从redis获取值
String name = redisTemplate.opsForValue().get("name")+"";
return name;
}
原因分析:
因为springboot版本是:2.2.1.RELEASE
而com.fasterxml.jackson.core版本是2.12.3
版本不兼容,降低版本即可
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
</dependencies>
解决方案:
降低版本即可
2.9.6亲测可用