Servlet.service()抛出ClassCastException

Ris*_*abh 8 java servlets jdk1.6 classcastexception tomcat6

我有一个java Web应用程序.我已经设置了这个新项目并在运行jsp时遇到以下异常,

Oct 10, 2012 3:01:49 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
    at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:151)
    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.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
Oct 10, 2012 3:01:57 AM org.apache.catalina.loader.WebappClassLoader modified
INFO:     Additional JARs have been added : 'activation-1.1.jar'
Oct 10, 2012 3:01:57 AM org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
Oct 10, 2012 3:01:57 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/AutoUpgrade] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Oct 10, 2012 3:01:57 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/AutoUpgrade] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak.
Run Code Online (Sandbox Code Playgroud)

我已经多次尝试清理并构建项目,获取最新的service-api.jar,我的lib非常广泛,我无法弄清楚导致此错误的任何jar之间是否存在任何不一致.我在jdk 1.6上运行Apache Tomcat 6上的项目(我的项目需要在1.6上运行).我试过谷歌搜索这个例外,但没有得到任何与我的问题相关的帖子.stackoverflow上的相关问题讨论了NullPointerException.

我认为问题必须在我的图书馆,但我不能指出根本原因.

谢谢

Bal*_*usC 9

当您在webapp中使用特定于Tomcat的JAR文件时,可能会发生这种情况/WEB-INF/lib.这个不对.您应该 从那里删除所有servletcontainer特定的JAR文件.他们根本不属于那里.它们应该已经由servletcontainer本身提供.本/WEB-INF/lib应只包含具体到哪些没有被servletcontainer提供的Web应用程序本身的库.

如果你已经把他们那里作为一个胆大妄为的企图修复编译错误的结果,那么请仔细阅读这个答案如何解决这个问题的正确方法:如何导入的javax.servlet API在我的Eclipse项目?