web-dev-qa-db-fra.com

La page JSP de Tomcat n'est pas compilée (Java.io.IOException: tmpFile.renameTo (classFile) a échoué)

Chaque fois que je lance mon application Web sur Tomcat, cela me donne une erreur. Il n'y a rien de mal avec les fichiers .jsp, juste que je dois redémarrer le serveur et parfois le complet IDE pour que cette erreur disparaisse.

L'erreur est la suivante

12 mars 2014 17:57:01 PM org.Apache.catalina.core.StandardWrapperValve Invoque SEVERE: Servlet.service () pour servlet [jsp] dans le contexte de chemin [/ Assignment_1_Flight_Reservation_System] a émis une exception [Impossible de compiler la classe pour JSP] avec la cause racine Java.io.IOException: tmpFile.renameTo (classFile) a échoué à . Apache.jasper.compiler.SmapUtil $ SDEInstaller.install (SmapUtil.Java:204) Dans org.Apache.jasper.compiler.SmapUtil.installSmap (SmapUtil.Java:163) Dans org.Apache.jasper.compiler.JDTCompiler.generateClass (JDTCompiler.Java:483) à org.Apache.jasper.compiler.Compiler.compile (Compiler.Java:378) à org.Apache.jasper.compiler.Compiler.compile (Compiler.Java:353) à org.Apache.jasper.compiler.Compiler.compile (Compiler.Java:340) à org .Apache.jasper.JspCompilationContext.compile (JspCompilationContext.Java:646) À Org.Apache.jasper.servlet.JspSer vletWrapper.service (JspServletWrapper.Java:357) à org.Apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.Java:390) à org.Apache.jasper .servlet.JspServlet.service (JspServlet.Java:334) à javax.servlet.http.HttpServlet.service (HttpServlet.Java:728) à org.Apache.catalina.core.ApplicationFilterChain .internalDoFilter (ApplicationFilterChain.Java:305) à org.Apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.Java:210) à org .netbeans.modules.web.monitor.server.MonitorFilter.doFilter (MonitorFilter.Java:393) à à org.Apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.Java:243) sur org.Apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.Java:210) sur org.Apache.catalina.core.StandardWrapperValve. invoke (StandardWrapperValve.Java:222) à org.Apache.catalina.core.StandardContextValve.invoke (StandardContextValve.Java:123) sur org.Apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.Java:472) [.____. .] à org.Apache.catalina.core.StandardHostValve.invoke (StandardHostValve.Java:171) à org.Apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve .Java: 99) À Org.Apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.Java:953) À Org.Apache.catalina .core.StandardEngineValve.invoke (StandardEngineValve.Java:118) à org.Apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.Java:408) à org.Apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.Java:1023) à org.Apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.Java5589) à org.Apache.Tomcat.util.net.JIoEndpoint $ SocketPr ocessor.run (JIoEndpoint.Java:312) à Java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.Java:1145) à Java. util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.Java:615) à Java.lang.Thread.run (Thread.Java:744)

10
MindBrain

Nettoyez le répertoire de travail Tomcar $ Tomcat/work pour voir s'il le résout et vérifiez les autorisations sur la structure du répertoire de travail

13
Cedric Simon

Nettoyer le répertoire de travail de Tomcat avec Project.

Exécuter et redémarrer le serveur et cela devrait fonctionner

Clean Working Directory of Tomcat Server

7
HimalayanCoder

Je sais que c'est tard, mais en 2017, cela se produit encore avec Tomcat 8.
Le problème est l’une des trois choses suivantes.

  1. Vous n'avez pas les autorisations appropriées
    Si tel est le cas, cela devrait se produire à chaque fois avec chaque jsp.
  2. Quelque chose de funky se passe et vous devez effacer votre répertoire de travail.
    Si tel est le cas, le problème se produit généralement à chaque fois avec chaque JSP, mais peut être intermittent.
  3. Un autre programme, tel que McAfee ou l’indexation Windows, lit le fichier de classe temporaire et l’empêche d’être renommé.
    C'est ce qui est arrivé à mon équipe. McAfee analysait le fichier nouvellement créé et rendait le problème complètement intermittent, il se produirait simplement de manière aléatoire. Pour résoudre ce problème, vous pouvez soit vous lancer dans le nucléaire et désinstaller votre anti-virus, mais si vous vous trouvez dans un environnement où cela n’est pas possible, demandez à votre équipe de sécurité d’ajouter une exclusion d’analyse à votre dossier de travail et à votre dossier Apache.
    Si ce n'est pas le problème, essayez de désactiver l'indexation de fichiers de Windows sur votre dossier de travail et votre dossier Apache.
4
Nicholas Aupke

Pour moi, il s’est avéré être TGitCache.exe de Tortoise Git. Doit essayer de mettre à jour les superpositions d'icônes.

0
Kevin Wise

1) Nettoyez le répertoire de travail de Tomcat 2) Redémarrez l’espace de travail (si vous utilisez le serveur dans Eclipse). 3) Redémarrez le serveur.

Cela fonctionne pour moi.

0
Gopi