簡體   English   中英

找不到MappingJacksonHttpMessageConverter

[英]MappingJacksonHttpMessageConverter not found

我正在嘗試運行無法成功調用應用程序上下文的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

我使用的是Spring 4.2.3(昨天更新,可能是它不起作用的原因。它是4.0.9)。 我知道MappingJacksonHttpMessageConverter已經被MappingJackson2HttpMessageConverter代替了,但是,我怎么知道要使用新版本呢?

我遵循了一些建議,並將其添加到我的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" />

[順便說一句,我去年夏天解決了同一問題,但我忘記了:(]

我在項目中使用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。

已解決此問題,並將此依賴項添加到我的pom.xml中:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>

用這個 :-

<!-- 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM