javax.servlet.ServletException:java.lang.NoClassDefFoundError:org / apache / tomcat / InstanceManager

时间:2011-10-11 11:09:26

标签: tomcat6 tomcat

我在理解通过tomcat 6.0.33访问我的Web应用程序时抛出的异常跟踪背后的问题时遇到了挑战。以下是详细的异常跟踪。仅供参考。相同的应用程序适用于不同版本的tomcat,但我无法通过6.0.33 tomcat访问我的应用程序。当我甚至访问我的应用程序主页FYI时会发生这种情况。

异常追踪:

org.apache.catalina.authenticator.FormAuthenticator forwardToLoginPage
WARNING: Unexpected error forwarding to login page
javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/tomcat/InstanceManager
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:268)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormAuthenticator.java:322)
    at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:246)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:589)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:111)
    at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
    at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:228)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
    at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:444)
    at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:399)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoClassDefFoundError: org/apache/tomcat/InstanceManager
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
    at java.lang.Class.getDeclaredFields(Class.java:1743)
    at org.apache.catalina.util.DefaultAnnotationProcessor.processAnnotations(DefaultAnnotationProcessor.java:181)
    at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:153)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:340)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormAuthenticator.java:322)
    at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:245)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:589)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
    at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:227)

非常感谢任何指导我解决问题的帮助。

此致!!

2 个答案:

答案 0 :(得分:9)

好像你已经在Tomcat的工作目录中缓存了来自其他tomcat版本的一些java类。解决您的问题

  1. 停止你的tomcat
  2. 删除$CATALINA_BASE/work/*
  3. $CATALINA_BASE/webapps中删除您的网络应用程序的解压缩目录(可能不需要此步骤)
  4. 启动你的tomcat。

答案 1 :(得分:2)

看起来你的JSP是针对Tomcat 7(预编译)编译的。这些不能在Tomcat 6上部署。