为什么jackson ObjectMapper会抛出ClassNotFoundException?

时间:2017-01-22 22:07:40

标签: java json maven jackson objectmapper

我正在编写简单的网络应用并试图实施杰克逊,但坚持这个错误:

     java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper
   right on
     `mapper = new ObjectMapper();`

错误堆栈:

    java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
    at CalculatorServlet.doPost(CalculatorServlet.java:61)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    ...
    at java.lang.Thread.run(Unknown Source)

服务器是tomcat v7,打包是war,jackson核心,注释和数据绑定是v.2.8.6。

1 个答案:

答案 0 :(得分:1)

您的Web应用程序中缺少com.fasterxml.jackson.databind.ObjectMapper依赖项:

您有以下选项

  • 在eclipse中,右键单击项目并获取war文件(maven> maven>包)。 war文件应包含依赖项。

  • 如果您在eclipse中的服务器上运行项目作为动态Web项目,那么您应该打开项目属性(右键单击>属性)并选择"部署程序集"。点击"添加",选择"构建路径条目",然后选择" maven依赖"。

这将包含依赖项并解决您的问题。