2010-09-10 16 views
7

Recentemente, ho iniziato a sperimentare un comportamento strano nell'applicazione JSP 4.0.5 JSP. La compilazione JSP non riesce al primo (secondo, terzo, ..) tentativo con l'eccezione:Causa di 'tmpFile.renameTo (classFile) non riuscito' durante la compilazione JSP

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) 

Dopo alcuni tentativi (dove pochi è 0 a ~ 7), la pagina viene infine compilato e rende OK.

Platform è Windows 7-Pro a 64 bit, la versione Java è

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 versione:

16:49:51,384 INFO [Server] Release ID: JBoss [Zion] 4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339) 

versione Tomcat è 5.5 (quello incluso in JBoss).

Grazie.

risposta

3

Questo è relativo a Tomcat 5.5 bug 38713. Sembra essere risolto in Tomcat 5.5.25 in poi.

+0

Questo sembra essere un bug piuttosto vecchio. La teoria delle condizioni di gara potrebbe essere corretta in quanto ci sono altre persone nel team che usano Windows 7 (sebbene non a 64 bit Pro) con lo stesso JBoss/Tomcat che non ha problemi. –

+0

Ho provato l'aggiornamento di Tomcat all'interno di JBoss dalla 4.0.5 alla 5.5.30 - le istruzioni sono qui: http://itapproaches.blogspot.com/2010/08/upgrading-tomcat-in-jboss-405.html - sfortunatamente, ho ancora vedere l'errore, anche se molto meno. –

+0

Questo accade ancora quando Tomcat 6 è distribuito all'interno di STS 3.3 – anon58192932

4

La cartella che lancia IOException è in realtà sola lettura, dopo averla modificata in scrittura, le cose funzionano correttamente.

+2

Come puoi dire dalla domanda originale di quale cartella si tratta? –

+2

Era esattamente ciò che era sbagliato. Ho reso la radice della mia applicazione scrivibile con tutte le sottocartelle e questo problema è andato via. Grazie. – max

7

Avanti veloce quattro anni al 2014. Tomcat 8, Java 8, Windows 8, stesso errore. Dopo una mezza giornata di frustrazioni risulta essere causato dal mio software antivirus, che nel mio caso era McAfee. Sono andato estremo e disinstallato il tutto. Ma probabilmente c'era qualche impostazione che avrei potuto fare per escludere le directory Tomcat dalla scansione live.

+0

Anno 2015, stessa cosa, grazie mille, non sarei mai riuscito a prenderlo da solo. Penso che la causa sia stata che accidentalmente ho abilitato qualcosa su una delle mille finestre che McAfee ti mostra una volta o l'altra durante l'uso del PC, ma procedo a disinstallarlo interamente, come hai fatto tu, perché, sai, è un inferno con i produttori di PC e la loro inclusione di alcuni software antivirus inutili che sono già scaduti quando si avvia la macchina per la prima volta. –

Problemi correlati