2017-01-22 54 views
-1

我写简单的Web应用程序,并试图实施杰克逊,但坚持了这个错误:jackson ObjectMapper为什么抛出ClassNotFoundException?

 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,包装战,杰克逊的核心,注释和数据绑定是v。2.8.6。

+2

你的maven依赖关系是什么样的?它是否被部署为WAR?图书馆是否包装在战争中(如果您手动打开WAR)? – alexbt

+0

@alexbt我已经离开了我的依赖屏幕截图 ,包装是战争 –

+0

请随时在网络上的任何地方,发布文本为文本而不是图像。图像与剪贴板,搜索引擎和屏幕阅读器不兼容 - 帮助者使用实际文本更方便。 – halfer

回答

0

你缺少在你的web应用com.fasterxml.jackson.databind.ObjectMapper依赖性:

,可以有以下选择

  • 在Eclipse上右击项目并获得战争文件(行家>行家>包)。战争文件应该包含依赖关系。

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

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

+0

请告诉我,我到底应该添加什么文件夹?现在空了。 我应该添加那里的.class文件吗?谢谢 –

+0

@LeopoldStotch好的。你是从eclipse构建战争文件吗? – fabfas

+0

是的,我从tomcat v7本地启动它 –

相关问题