有关 Java (jackson包问题 ,MappingJacksonHttpMessageConverter 和 MappingJackson2HttpMessageConverter问题)(示例代

Posted Q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关 Java (jackson包问题 ,MappingJacksonHttpMessageConverter 和 MappingJackson2HttpMessageConverter问题)(示例代相关的知识,希望对你有一定的参考价值。

今天这一系列问题吃掉我四个小时,所以现在吸收掉。

 

一。 整理所有错误信息:

1.错误信息:java.lang.NoClassDefFoundError: Could not initialize class org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

 

解决:将配置文件中的  MappingJackson2HttpMessageConverter 改成 MappingJacksonHttpMessageConverter

如下:


<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    <property name="messageConverters">
        <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
    </property>
</bean>
 

问题分析:可能你的 Spring 版本低于 4.1.1 ,MappingJackson2HttpMessageConverter 这个属性在 Spring 4.1.1 版本之前是没有的。

反之,如果上面的异常是  MappingJacksonHttpMessageConverter也就是说你的版本只支持 MappingJackson2HttpMessageConverter

 

 

2. 错误信息:Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.codehaus.jackson.map.SerializationConfig.isEnabled(Lorg/codehaus/jackson/map/SerializationConfig$Feature;)Z

如果你提交表单之后,页面出现了 500 的错误代码,并且错误信息和上面一致,请看解决:

将你的 jackson 的版本换成 1.9.11 或 以上的。

 下载地址:ctrl + F 搜索 jackson

问题分析:呃,就是你的版本太低了,不支持,恩。。就是这个原因让我卡在了第一步

 

 

3.错误信息: No adapter for handler [com.q.backoffice.web.controller.UserController3@61ae8d7a]: The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler

 

解决:

在你的配置文件中添加

<!--   2. 配置注解,处理映射    -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>

 

问题分析:在你的程序中某处使用了注解,但是你却没有在配置文件中设置。

 

 

 

 

 

 

不要让你的人生止步于此,加油!

以上是关于有关 Java (jackson包问题 ,MappingJacksonHttpMessageConverter 和 MappingJackson2HttpMessageConverter问题)(示例代的主要内容,如果未能解决你的问题,请参考以下文章

错误:编译 Java 文件时“包 com.fasterxml.jackson.databind 不存在”

[Java] jackson注解

Java—Json数据格式转换需要的Jar包

是否有任何选项可以在 Spring Boot 中使用 Jackson 为 java.time.* 包注册一次 Serializer/Deserializer?

来自Jakob Jenkov的Jackson教程

fasterxml jackson 的包冲突太垃圾太恶心了: Could not initialize class com.fasterxml.jackson.databind.Seriali...