2016-03-10 38 views
4

我有以下這我是從彈簧安置服務器返回傑克遜拋出nosuchmethod錯誤而

public class Message { 
    private String name; 
    private String text; 

    public Message(String name, String text) { 
     this.name = name; 
     this.text = text; 
    } 

    public String getName() { 
     return name; 
    } 

    public String getText() { 
     return text; 
    } 
} 

而且我收到以下錯誤,當我試圖訪問API類

g.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.type.TypeFactory.constructType(Ljava/lang/reflect/Type;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/JavaType; 
    org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1302) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:977) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:860) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:622) 
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

這裏是我的傑克遜映射樹通過mvn dependency:tree | grep jackson

[INFO] +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.9:compile 
[INFO] | \- org.codehaus.jackson:jackson-core-asl:jar:1.9.9:compile 
[INFO] \- com.fasterxml.jackson.core:jackson-databind:jar:2.7.0:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-annotations:jar:2.7.0:compile 
[INFO] \- com.fasterxml.jackson.core:jackson-core:jar:2.7.0:compile 

這裏是我的實際傑克遜d依賴pom.xml

<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-mapper-asl</artifactId> 
    <version>1.9.9</version> 
</dependency> 
<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version>2.7.0</version> 
</dependency> 

我已經嘗試過,包括最新版本的兩個庫。我不確定我在這裏錯過了什麼。

回答

3

您正在使用哪個Spring版本? 查看圖書館對the Spring wiki的要求。

如果您使用Spring 4+,則不需要org.codehaus依賴項。

現在Jackson 2.7有一些問題 - 該版本將在Spring 4.3中支持(請參閱SPR-13728SPR-13483)。同時,你應該堅持傑克遜2.6+。

+0

謝謝。這有幫助。 –