J'ai une application Web Java. J'ai mis en place ce nouveau projet et obtenue l'exception suivante lorsque j'exécute une 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.
3 Réponses :
Si le nettoyage de votre projet n'a pas aidé, vous devez peut-être Effacer votre cache forte>. P>
Le cache NetBeans est situé quelque part ...
C: \ documents et paramètres \ moi-même.netbeans \ 7.0 \ var \ cache p>
Nettoyage du cache dans l'éclipse Dosent résolvez le problème. Je pense que le problème doit être à cause des bocaux manquants / incompatibles
Cela peut se produire lorsque vous avez des fichiers JAR spécifiques à Tomcat dans votre Si vous les avez placées là-bas à la suite d'une tentative inhérente à résoudre des erreurs de compilation, veuillez lire attentivement cette réponse comment résoudre la bonne façon: Comment importer l'API Javax.Servlet dans mon projet Eclipse? < / p> / web-inf / lib code>. Ça n'est pas correct. Vous devriez Supprimer FORT> Tous les fichiers JAR SPAR SPARSContainer à partir de là. Ils n'appartiennent pas du tout. Ils sont censés être déjà em> fournis par le servletContainer lui-même. Le
/ web-inf / lib code> ne doit contenir que des bibliothèques spécifiques à la webapp elle-même qui ne sont pas fournies par le servletContainer. P>
Désolé pour la réponse tardive. J'ai été rattrapé dans d'autres projets. Votre réponse a un sens complet et je me souviens d'utiliser un pot spécifique à servletsContainer dans mon Web-Inf / Lib. Supprimera un tel pot en conflit et vous permettra de savoir comment les choses fonctionnent! Merci,
Merci Balusc, nettoyant les pots dans / lib résous le problème!
Hm, bien mon problème est que j'ai besoin d'accéder à org.apache.catalina, et je ne sais pas comment faire cela sans l'ajouter en tant que ressource. Des idées?
@JOSH: Suivez simplement le lien dans ma réponse.
Qu'en est-il du moment où les pots sont indirectement inclus par une dépendance POM.XML? Ou lorsque vous avez besoin d'une version plus récente d'un pot que celui fourni par le conteneur de servlet?
Supprimer les éléments suivants de la lib. p>
Cela fonctionnera certainement. P>
Le problème est-il avec un JSP spécifique ou avec tous les JSP? Comment faites-vous des dépendances manifester - Maven / Ivy / Gradle ou simplement copier des pots à la main? Vous pouvez consulter votre liste de dépendances, pour voir si une bibliothèque de Tomcat est incluse en tant que dépendance du projet - qui sera le plus susceptible d'être le problème.
Le problème est avec tous les JSP. J'ai copié tous les fichiers JAR à la main dans mon dossier LIB de projets. Va vérifier les dépendances dans ma bibliothèque Tomcat et vous le faire savoir