2013-03-13 43 views
0

我得到以下STRACK跟蹤和不知道爲什麼:Servlet無法識別JSON?

SEVERE: Servlet.service() for servlet [BuddyController] in context with path [/gbserver] threw exception [Servlet execution threw an exception] with root cause 
java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2904) 
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    at com.mathanv.gb.dao.BuddyDao.registerBuddy(BuddyDao.java:50) 
    at com.mathanv.gb.controller.BuddyController.doPost(BuddyController.java:53) 
    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.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
    at java.lang.Thread.run(Thread.java:680) 

是由下面的代碼生成以上STRACK跟蹤:

JSONObject response = new JSONObject(); 

和我有以下結構: Structure

任何想法,爲什麼我得到錯誤?

+0

考慮(在中期至長期)學習的東西像[Maven的(HTTP://行家。 apache.org/)爲您的項目處理第三方庫。這有點嚇人,但IDE基本上依賴於依賴管理。 – millimoose 2013-03-13 00:58:51

+0

非常感謝你的配偶,這個東西很新,而且依賴是我最近遇到的一個新問題。始終努力學習最佳實踐!我可以開始閱讀關於Maven的基礎知識的任何好地方? – MathanMV 2013-03-13 01:44:11

+1

官方網站將是一個。這種工具通常有助於建立一個已經可以深入研究的項目。幸運的是,這幾乎是Maven「原型」已經做的,並且該教程將以一個爲開始。因此,創建一個簡單的webapp原型,運行'mvn tomcat:run'來查看是否可行,然後將其作爲基礎。像mvnrepository.com這樣的網站可以幫助您找出將庫添加到項目所需的內容。 – millimoose 2013-03-13 01:47:13

回答