ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
java, maven, resttemplate, spring
Solution
i tried to copy paste your spring beans to a project but something strange is wrong with
`<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>`
this line, specifically there seems to be some invisible characters before the last `r` in `Converter` try typing that classname again manually.
if this is the case then its the craziest thing i have seen for sometime :D
Also `MappingJacksonHttpMessageConverter` is deprecated in 4.0.0 there is something newer. And you will need to add dependencies for jackson as well to get things working. This should be helpful.
Problem
I am completely a beginner at Spring (you can see that in my code :) ). I just wanted to test the class RestTemplate but I got a `ClassNotFoundException`. So the code is: ``` import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.web.client.RestTemplate; public class RestClient { private RestTemplate restTemplate; public String getJiraIssueAsJson(){ Object o = restTemplate.getForObject(..., Object.class); System.out.println("..."+o.getClass()); return null; } public void setRestTemplate(RestTemplate restTemplate) { this.restTemplate = restTemplate; } public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("rest-client-context.xml"); RestClient restClient = context.getBean("restClient", RestClient.class); restClient.getJiraIssueAsJson(); } } ``` context.xml ``` <beans ...> <bean id="restTemplate" class="org.springframework.web.client.RestTemplate"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/> </list> </property> </bean> <bean id="restClient" class="org.googlecode.happymarvin.jiraexplorer.RestClient"> <property name="restTemplate" ref="restTemplate"/> </bean> </beans> ``` pom.xml ``` <project ...> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.googlecode.happymarvin</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>jiraminer</artifactId> <name>Happy Marvin JIRA Miner</name> <packaging>jar</packaging> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jackson-version>1.9.13</jackson-version> </properties> </project> ``` parent pom.xml ``` <project ...> <modelVersion>4.0.0</modelVersion> <groupId>com.googlecode.happymarvin</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <name>Happy Marvin parent project</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <org.springframework.version>4.0.0.RELEASE</org.springframework.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org.springframework.version}</version> </dependency> </dependencies> </project> ``` Exception ``` Jan 07, 2014 10:18:24 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@730eb2f0: startup date [Tue Jan 07 10:18:24 GMT 2014]; root of context hierarchy Jan 07, 2014 10:18:24 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [rest-client-context.xml] Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'restTemplate' defined in class path resource [rest-client-context.xml]: Cannot create inner bean 'org.springframework.http.converter.json.MappingJacksonHttpMessageConverter#77624896' of type [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter] while setting bean property 'messageConverters' with key [0]; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter] for bean with name 'org.springframework.http.converter.json.MappingJacksonHttpMessageConverter#77624896' defined in class path resource [rest-client-context.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter ... Caused by: java.lang.ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter ``` I have this exception when I try to run the main method from eclipse. I can think of something like the spring jars cannot be seen but I don't know why... Can you please help me?