java - 为什么 Jackson ObjectMapper 会抛出 ClassNotFoundException?

标签 java json maven jackson objectmapper

我正在编写简单的网络应用程序并尝试实现 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 core,注释和数据绑定(bind)是v.2.8.6。

最佳答案

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

您有以下选择

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

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

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

关于java - 为什么 Jackson ObjectMapper 会抛出 ClassNotFoundException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41796684/

相关文章:

python - 使用 python 中的请求函数解析 json 数据....我无法访问对象

java - 我已经添加了所需的依赖项,但仍然遇到错误

java - 通过 Eclipse 的 Maven Web 项目

java - jaxb2-maven-plugin 通过命名空间创建包

java - 1 个 IDREF 与 1 个以上的 JAXB 不一致

Java:有限递归中的 Stackoverflow

php - 使用大型 .JSON 文件 (PHP)

java - GWT RPC 机制的序列图

java - 使用 Transformer 制作的缩进 XML

javascript - AngularJS - 使用 REST API 调用加载图像