zoukankan      html  css  js  c++  java
  • nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

    背景

    在开发过程中配置如下信息:

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
            <property name="messageConverters">
                <list>
                       <ref bean="mappingJacksonHttpMessageConverter" />
                </list>
            </property>
        </bean>
    
        <bean id="mappingJacksonHttpMessageConverter"
            class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
             <property name = "supportedMediaTypes">
                  <list>
                    <bean class="org.springframework.http.MediaType">
                     <constructor-arg index="0" value="text"/>
                     <constructor-arg index="1" value="plain"/>
                     <constructor-arg index="2" value="UTF-8"/>
                    </bean>
                    <bean class="org.springframework.http.MediaType">
                     <constructor-arg index="0" value="*"/>
                     <constructor-arg index="1" value="*"/>
                     <constructor-arg index="2" value="UTF-8"/>
                    </bean>
                    <bean class="org.springframework.http.MediaType">
                     <constructor-arg index="0" value="text"/>
                     <constructor-arg index="1" value="*"/>
                     <constructor-arg index="2" value="UTF-8"/>
                    </bean>
                     <bean class="org.springframework.http.MediaType">
                     <constructor-arg index="0" value="application"/>
                     <constructor-arg index="1" value="json"/>
                     <constructor-arg index="2" value="UTF-8"/>
                    </bean>
                  </list>
            </property>
        </bean>

    报错信息

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

    解决过程

    在网络上搜索都说是spring版本与MappingJackson2HttpMessageConverter类不匹配,参考  。但是我检查我的项目中确实是使用的spring4.X版本,所以应该不是这个问题。

    然后在搜索的时候意识到可能是某些jar包引用的版本不对。但是这个又不太好纠错到底哪个jar包问题。无意中发现这个博客中使用的jackson版本和我的不太一样,他用的是2.8.5,我用的是2.9.10.1 ,我的版本貌似太新了,于是死马当活马医试了一下,发现能正常启动了。

    结论

    1.首先要检查spring版本与MappingJackson2HttpMessageConverter是否匹配

    2.尝试更换jackson版本。

    3.一般包类找不到抛NoClassDefFoundError的异常,首先要考虑是否jar没有引用,jar包冲突,或者是版本不对。

  • 相关阅读:
    Bash Shellshock(CVE-2014-6271)破壳漏洞测试
    极客时间-左耳听风-程序员攻略-分布式架构经典图书和论文
    极客时间-左耳听风-程序员攻略-分布式架构入门
    极客时间-左耳听风-程序员攻略-数据库
    极客时间-左耳听风-程序员攻略-Java底层知识
    Hackertarget:一款发现攻击面的工具
    解决tomcat was unable to start within问题
    当我们安装使用时,会出现eclipse启动不了,出现“Java was started but returned exit code=13......”的问题
    Eclipse启动报错:A java runtime Environment(JRE) or java Development……的解决办法
    eclipse svn插件安装方法
  • 原文地址:https://www.cnblogs.com/qingshan-tang/p/12397055.html
Copyright © 2011-2022 走看看