2017-01-22 155 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本地啓動它 –