我有一个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.我已经尝试过多次清理和构建这个项目,得到了最新的service-api.jar,我的库非常广泛,我不能确定是否有任何导致这个错误的jar之间存在任何不一致。我在jdk 1.6上的Apache Tomcat 6上运行该项目(我的项目需要在1.6上运行)。我试着用谷歌搜索这个异常,但没有得到任何与我的问题相关的帖子。关于stackoverflow的相关问题都是关于NullPointerException的。
我认为问题一定是出在我的库上,但我不能指出根本原因。
谢谢
发布于 2012-10-11 05:52:10
当您的webapp的/WEB-INF/lib中有特定于Tomcat的JAR文件时,就会发生这种情况。这是不对的。您应该从那里remove所有servletcontainer特定的JAR文件。他们根本不属于那里。它们应该已经由servletcontainer本身提供了。/WEB-INF/lib应该只包含特定于webapp本身的库,这些库不是由should容器提供的。
如果您将它们放在那里是因为没有经过深思熟虑地尝试修复编译错误,那么请仔细阅读如何以正确的方式解决它的答案:How do I import the javax.servlet API in my Eclipse project?
发布于 2012-10-10 15:53:05
如果清理项目没有帮助,也许你需要清除缓存。
Netbeans缓存位于...
C:\Documents and Settings\myself.netbeans\7.0\var\cache
发布于 2015-06-04 19:15:05
从lib中删除以下代码。
这肯定行得通。
https://stackoverflow.com/questions/12814008
复制相似问题