SpringBoot与jackson.databind兼容报错问题

SpringBoot与jackson.databind兼容报错问题

————————————————

1、SpringBoot版本V2.0.0
其依赖的jackson-databind版本为V2.9.4,当从配置文件application.properties读取参数赋值给Bean时,一直报如下错误:
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JavaType.isReferenceType()Z
at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:400)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:352)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
at com.fasterxml.jackson.databind.deser.DeserializerCache.hasValueDeserializerFor(DeserializerCache.java:191)
at com.fasterxml.jackson.databind.DeserializationContext.hasValueDeserializerFor(DeserializationContext.java:422)

后经排查发现,是版本不兼容导致的,升级jackson-databind为V2.9.6后问题解决

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
————————————————
版权声明:本文为CSDN博主「LFfootprint」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LFfootprint/article/details/90722940

可能的原因:

依赖冲突,还是依赖的版本不对

解决方法:

在springboot中是使用jackson要这样用

依赖:

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
————————————————
版权声明:本文为CSDN博主「CR2018」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qpc672456416/article/details/81942703

posted @ 2019-09-25 17:22  A汉克先生  阅读(8208)  评论(0编辑  收藏  举报