You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Gaurav Kushwaha <ga...@gmail.com> on 2007/11/15 12:35:16 UTC
jsps giving NoClassDefFoundError in production
Hi,
I have an application running under heavy load. While redeploying, some
of my JSPs start throwing NoClassDefFoundError.
java.lang.NoClassDefFoundError: com/proj/tag/TagCloud
at
org.apache.jsp.WEB_002dINF.jsps_.detail_005fpages..Entity1Detail_jsp._jspService
(Entity1Detail_jsp.java:1958)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java
:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(
JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(
JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(
ApplicationDispatcher.java:704)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(
ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.doForward(
ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward(
ApplicationDispatcher.java:312)
at org.apache.struts.action.RequestProcessor.doForward(
RequestProcessor.java:1063)
at org.apache.struts.action.RequestProcessor.processForwardConfig(
RequestProcessor.java:386)
at org.apache.struts.action.RequestProcessor.process(
RequestProcessor.java:229)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java
:1194)
at com.chalchitr.actions.servlet.ChalchitrServlet.process(
ChalchitrServlet.java:48)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java
:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(
ApplicationDispatcher.java:704)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(
ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.doForward(
ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward(
ApplicationDispatcher.java:312)
at org.tuckey.web.filters.urlrewrite.RewrittenUrl.doRewrite(
RewrittenUrl.java:176)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(
UrlRewriteFilter.java:728)
The other jsps (Entity2Detail.jsp, Entity3Detail.jsp etc.) also use TagCloud
class and they work fine. Infact all 3 jsps use TagCloud class in exactly
the same fashion (<%@ include file="TagCloud.jsp" %>) .
Also, the whole thing is highly unpredictable. On next restart,
Entity2Detail.jsp would start giving this problem where as
Entity1Detail.jspwould work fine. Some times all of them work fine.
I suspect it has something to do with how jsps are compiled but can't figure
out the exact problem. Also, if I delete my "work/Catalina" directory
(forcing jasper to redo those jsps), that fixes the problem.
Please help.
Gaurav Singh
http://www.chakpak.com