Spring restTemplate NoClassDefFoundError

时间:2015-03-20 02:49:25

标签: java spring spring-mvc

我在使用Spring NoClassDefFoundError获取以下代码restTemplate时的messageConverters.add(new MappingJackson2HttpMessageConverter());

我错过了什么?

    RestTemplate restTemplate = new RestTemplate();
    List<HttpMessageConverter<?>> messageConverters = new   ArrayList<HttpMessageConverter<?>>();
    messageConverters.add(new MappingJackson2HttpMessageConverter());
    restTemplate.setMessageConverters(messageConverters);
    ResponseEntity<String> responseEntity = restTemplate
                .exchange(
                        "https://abc.stuff.com/abd",
                        HttpMethod.GET, requestEntity, String.class);

error:
exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
    at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.<init>(MappingJackson2HttpMessageConverter.java:62)

2 个答案:

答案 0 :(得分:1)

您可能缺少杰克逊依赖项。如果您使用的是maven,则可能需要添加它。

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>${jackson.databind-version}</version>
</dependency>

您还可以参考以下链接获取完整的依赖关系。

http://www.journaldev.com/2552/spring-restful-web-service-example-with-json-jackson-and-client-program

答案 1 :(得分:1)

org.springframework.http.converter.json.MappingJackson2HttpMessageConverter类在spring-web中可用。所以尝试在maven依赖下添加

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>4.1.1.RELEASE</version>
</dependency>