Ursache der 'tmpFile.renameTo(classFile) failed " während der JSP-Kompilierung
Vor kurzem, ich begann zu erleben seltsame Verhalten in JBOss 4.0.5 JSP-Anwendung. Die JSP-Kompilierung schlägt fehl bei ersten (zweiten, Dritten,..) versuchen, mit der Ausnahme:
17:24:29,909 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.io.IOException: tmpFile.renameTo(classFile) failed
at org.apache.jasper.compiler.SmapUtil$SDEInstaller.install(SmapUtil.java:245)
at org.apache.jasper.compiler.SmapUtil.installSmap(SmapUtil.java:164)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:429)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
Nach wenigen Wiederholungen (wo einige von 0 ~ 7), die Seite wird schließlich zusammengestellt und gerendert, OK.
Plattform ist Windows 7 Pro 64-bit, Java version ist
c:\ATG\ATG2007.1>java -version
java version "1.5.0_21"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_21-b01)
Java HotSpot(TM) Client VM (build 1.5.0_21-b01, mixed mode)
JBoss version:
16:49:51,384 INFO [Server] Release ID: JBoss [Zion] 4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)
Tomcat version 5.5 (die im Lieferumfang von JBoss).
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist im Zusammenhang mit Tomcat 5.5 bug 38713. Es scheint behoben zu sein, die in Tomcat-5.5.25 ab.
Fast forward vier Jahre bis 2014. Tomcat 8, Java 8, Windows 8, gleiche Fehlermeldung. Nach einem halben Tag Frust es stellt sich heraus, dass der Fehler durch mein antivirus-software, in meinem Fall war McAfee. Ich ging extreme und deinstalliert das ganze. Aber es war wohl irgend eine Einstellung die ich gemacht haben könnte, schließt die Tomcat-Verzeichnisse von der live-scanning.
Den Ordner, wirft IOException ist eigentlich nur zu Lesen, nachdem es zu ändern beschreibbar, alles funktioniert einwandfrei.