严重: Servlet.service() for servlet [FileServlet] in context with path [/FileManager] threw exception [Servlet execution threw an exception] with root cause
java.lang.NoClassDefFoundError: net/sf/json/JSONObject
at service.FileService.getLeft(FileService.java:34)
at servlet.FileServlet.doPost(FileServlet.java:40)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
--------------------------------------------------------------------------------
我在build path里添加了以下的包:
json-lib-2.4
commons-beanutils-1.8.3
httpclient-4.1.1
commons-lang-2.6
commons-loggin-1.1.1
commoms-collections-3.2
ezmorph-1.0.6
引起错误的是FileService类中的这一句:JSONObject jo = new JSONObject();
可奇怪的是如果我写一个JUnit来调用FileService就不会出错,但如果用Servlet的话就要出错。该怎么处理呢?
java.lang.NoClassDefFoundError: net/sf/json/JSONObject
at service.FileService.getLeft(FileService.java:34)
at servlet.FileServlet.doPost(FileServlet.java:40)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
--------------------------------------------------------------------------------
我在build path里添加了以下的包:
json-lib-2.4
commons-beanutils-1.8.3
httpclient-4.1.1
commons-lang-2.6
commons-loggin-1.1.1
commoms-collections-3.2
ezmorph-1.0.6
引起错误的是FileService类中的这一句:JSONObject jo = new JSONObject();
可奇怪的是如果我写一个JUnit来调用FileService就不会出错,但如果用Servlet的话就要出错。该怎么处理呢?
这些Jar包通常摆WEB-INF/lib目录中即可。