为什么杰克逊 ObjectMapper 会抛出 ClassNotFoundException?

Why does jackson ObjectMapper throws ClassNotFoundException?

我正在编写简单的网络应用程序并尝试实施 Jackson,但遇到了这个错误:

     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.

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

您有以下选项

  • 在 eclipse 中,在项目中 right-click 并获取一个 war 文件(maven > maven > package)。 war 文件应该包含依赖项。

  • 如果您在 eclipse 中将项目 运行 作为服务器上的动态 Web 项目,那么您应该打开项目属性(右键单击 > 属性)和 select "Deployment Assembly"。点击"add"、select "build path entries",然后选择"maven dependencies"。

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