我在使用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)
答案 0 :(得分:1)
您可能缺少杰克逊依赖项。如果您使用的是maven,则可能需要添加它。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.databind-version}</version>
</dependency>
您还可以参考以下链接获取完整的依赖关系。
答案 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>