As I have asked the similar question about servlet ,which is for showing a report on browser. I reconstruct a Danymic web project(named JasperServlet) using Eclipse,after creating . compiling and maping servlet(named FirstReportSendToBrowserServlet) , put the servlet into Apache Tomcat v5.5 ,after I fire up tomcat, open http://localhost:8080/JasperServlet/FR (FirstReportSendToBrowserServlet has mapped to FR in web.xml) , what I got puzzled me:
exception
javax.servlet.ServletException: Error instantiating servlet class
FirstReportSendToBrowserServlet
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:619) root causejava.lang.NoClassDefFoundError:
net/sf/jasperreports/engine/JRException
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
java.lang.Class.getConstructor0(Class.java:2699)
java.lang.Class.newInstance0(Class.java:326)
java.lang.Class.newInstance(Class.java:308)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:619)
I have already find in Apache’s bugzilla , But it seems that I can not find a similar answer. Do somebody can give hints?
You need
jasper-reports.jarin yourWEB-INF/lib. NoClassDefFoundError means the application expects a class to be on the classpath, but it is missing. The classpath of a web application is formed by: