我试图运行一个调用应用程序上下文但没有成功的java批处理(它是一个调用Camel spring上下文的java应用程序)。这是我在创业期间得到的:
ERROR ApplicationProperties @ addApplicationProperty [28] org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from file [/MessageRouting/src/test/resources/META-INF/spring/LOCALHOST-db-context.xml]; nested exception is java.lang.NoClassDefFoundError: org/springframework/http/converter/json/MappingJacksonHttpMessageConverter
Fatal error! java.lang.RuntimeException: Error loading ClassPathXmlApplicationContext file - src/test/resources/META-INF/spring/LOCALHOST-db-context.xml
我使用的是弹簧4.2.3(昨天更新,可能是它没有工作的原因。它是4.0.9)。我知道MappingJacksonHttpMessageConverter已经被MappingJackson2HttpMessageConverter取代了,但是,如何告诉spring使用新版本?
我遵循了一些建议,并将其添加到我的pom.xml中:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.6.3</version>
</dependency>
但它不起作用。让我真正生气的是,以前的版本工作,即使我回到以前的版本,它现在也不起作用。任何线索?
我也加了这个,但没有成功:
<!-- Configure to plugin JSON as request and response in method handler -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonMessageConverter"/>
</list>
</property>
</bean>
<!-- Configure bean to convert JSON to POJO and vice versa -->
<bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
[顺便说一下,我去年夏天修了同样的问题,但我忘记了:(]
答案 0 :(得分:0)
我正在将spring 4.0.3用于我们的项目。我可以在spring-web-4.0.3.RELEASE.jar中看到MappingJacksonHttpMessageConverter类。
您是否有任何与MappingJacksonHttpMessageConverter相关的配置?因为,我使用的配置如下,它对我有用。
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonMessageConverter"/>
</list>
</property>
</bean>
<bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
我们的项目在我们的类路径中也有jackson-core-asl-1.9.13.jar和jackson-mapper-asl-1.9.13.jar。
答案 1 :(得分:0)
已修复此问题已将此依赖项添加到我的pom.xml:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
答案 2 :(得分:0)
使用此:-
<!-- Configure bean to convert JSON to POJO and vice versa -->
<beans:bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
</beans:bean>
<context:component-scan base-package="com.journaldev.spring.controller" />
将MappingJackson2HttpMessageConverter
替换为MappingJacksonHttpMessageConverter