title: Jackson Json and no such method errors
body: <p>I am trying to use jackson to serialize and deserialize a POJO. Going from POJO to JSON works perfectly but going the other direction does not.</p>
  
  <p>I have a POJO</p>
  
  <pre><code>public class Event {
    private String kind;
  
    public String getKind() {
      return kind;
    }
  
    public void setKind(String kind) {
      this.kind = kind;
    }
  }
  </code></pre>
  
  <p>and to run and test I run package calendar.model;</p>
  
  <pre><code>Event event = new Event();
  event.setKind("This is a kind");
  String json = objectMapper.writeValueAsString(event); 
  // RETURNS: "{\"kind\":\"This is a kind\"}"
  
  objectMapper.readValue(json, Event.class);
  </code></pre>
  
  <p>Throws Exception</p>
  
  <pre><code>java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonParser.getValueAsString()Ljava/lang/String;
  at com.fasterxml.jackson.databind.deser.std.StringDeserializer.deserialize(StringDeserializer.java:24)
  at com.fasterxml.jackson.databind.deser.std.StringDeserializer.deserialize(StringDeserializer.java:11)
  at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
  at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:98)
  at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
  at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
  at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2796)
  at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1942)
  at calendar.controller.RootController.details(RootController.java:59)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
  at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
  at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100)
  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604)
  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565)
  at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
  </code></pre>
  
  <p>I have played with about all I can to get the JSON to POJO to work but it won't.  It does work if I map from JSON to a Map type.</p>
  
  <p>Thanks for the help</p>
  
  <h2>EDIT</h2>
  
  <p>here is a grep for jackson in my dependencies</p>
  
  <pre><code>± &gt; mvn dependency:tree | grep jackson                                                                                                                       -I- 
  [INFO] +- com.google.http-client:google-http-client-jackson2:jar:1.13.1-beta:compile
  [INFO] |  \- com.fasterxml.jackson.core:jackson-core:jar:2.0.5:compile
  [INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.1.1:compile
  [INFO] |  |  +- com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.1.1:compile
  [INFO] |  |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.1.1:compile
  [INFO] |  |  |  +- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.1.0:compile
  </code></pre>
  
  <p>It looks like there is no other version of jackson except for jackson2.</p>
  
  <p>The full method being run is a spring controller method.</p>
  
  <pre><code>@RequestMapping(value = "/")
    public Event root() throws IOException {
      Event event = new Event();
      event.setKind("This is a kind");
      String json = objectMapper.writeValueAsString(event);
      // RETURNS: "{\"kind\":\"This is a kind\"}"
  
      Event mapped = objectMapper.readValue(json, Event.class);
      return mapped;
    }
  </code></pre>