Cannot find class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter]

在JavaWEB项目中,使用SSM框架,在项目启动时出现如下错误:
Cannot find class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter] for bean with name ‘mappingJacksonHttpMessageConverter’ defined in class path resource [spring-mvc.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter

查看之后,出错的地方为配置文件中配置了一个bean,id为mappingJacksonHttpMessageConverter,class为
“org.springframework.http.converter.json.MappingJacksonHttpMessageConverter”,

  1 <!--避免IE执行AJAX时,返回JSON出现下载文件 -->
  2     <bean id="mappingJacksonHttpMessageConverter"
  3         class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
  4         <property name="supportedMediaTypes">
  5             <list>
  6                 <value>text/html;charset=UTF-8</value>
  7             </list>
  8         </property>
  9     </bean>
 10     <mvc:annotation-driven>
 11         <mvc:message-converters register-defaults="true">
 12             <bean
 13                     class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"
 14                     p:supportedMediaTypes="*/*" />
 15         </mvc:message-converters>
 16     </mvc:annotation-driven>
 17 

启动时读取配置文件,初始化bean时,找不到这个类,改错好几次,纠结很久之后,发现其实就是和所用的的Spring框架的版本有关,这个要注意spring版本,3.x和4.x配置不同

spring3.x是org.springframework.http.converter.json.MappingJacksonHttpMessageConverter

spring4.x是org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

最后修改为:

  1     <bean id="mappingJacksonHttpMessageConverter"
  2         class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
  3         <property name="supportedMediaTypes">
  4             <list>
  5                 <value>text/html;charset=UTF-8</value>
  6             </list>
  7         </property>
  8     </bean>
  9     <mvc:annotation-driven>
 10         <mvc:message-converters register-defaults="true">
 11             <bean
 12                     class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"
 13                     p:supportedMediaTypes="*/*" />
 14         </mvc:message-converters>
 15     </mvc:annotation-driven>
 16 


其实只要改一下类名就可以,具体可以查看spring-web的jar确认,哪个存在用哪个!



为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
转载请标注出处!
原文地址:https://www.cnblogs.com/ios9/p/15523462.html