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包冲突,或者是版本不对。

  • 相关阅读:
    腾讯云Serverless来部署Hexo博客
    通用导入
    Winform窗体圆角完美解决方案
    kali 解决签名失效问题
    CVE-2021-3156 漏洞复现 附带 提权exp
    kali在安装时遇到软件包安装不了的问题解决
    Asmgcs高级地面学习笔记
    继续教育 多开视频加速
    python直接打印列表
    window里GDAL读取中文Personal Geodatabase
  • 原文地址:https://www.cnblogs.com/qingshan-tang/p/12397055.html
Copyright © 2011-2022 走看看