2010-09-10 9 views
7

Recientemente, comencé a experimentar un comportamiento extraño en JBOss 4.0.5 aplicación JSP. La compilación de JSP falla en el primer (segundo, tercero, ..) con el intento de excepción:Causa de 'tmpFile.renameTo (classFile) failed' durante la compilación 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) 

Después de pocos reintentos (donde pocos es de 0 a ~ 7), la página se compiló con el tiempo y hace clic en Aceptar.

plataforma es Windows 7 Pro 64 bits, la versión Java es

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 versión:

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

versión de Tomcat es 5.5 (que viene incluido con JBoss).

Gracias.

Respuesta

3

Esto se relaciona con Tomcat 5.5 bug 38713. Parece que se corrigió en Tomcat 5.5.25 en adelante.

+0

Esto parece ser un error bastante antiguo. La teoría de la condición de carrera puede ser correcta ya que hay otras personas en el equipo que usan Windows 7 (aunque no Pro de 64 bits) con el mismo JBoss/Tomcat que no tienen problemas. –

+0

He intentado actualizar Tomcat dentro de JBoss 4.0.5 a 5.5.30 - las instrucciones están aquí: http://itapproaches.blogspot.com/2010/08/upgrading-tomcat-in-jboss-405.html - por desgracia, todavía ver el error, aunque mucho menos. –

+0

Esto todavía está sucediendo cuando se implementa Tomcat 6 dentro de STS 3.3 – anon58192932

4

La carpeta que está lanzando IOException es en realidad de solo lectura, después de cambiarla a escriturable, las cosas funcionan bien.

+2

¿Cómo se puede decir a partir de la pregunta original en qué carpeta se encuentra? –

+2

Eso era exactamente lo que estaba mal. Hice que la raíz de mi aplicación se pueda escribir con todas las subcarpetas y este problema desapareció. Gracias. – max

7

Avance rápido de cuatro años hasta 2014. Tomcat 8, Java 8, Windows 8, mismo error. Después de medio día de frustración, resultó ser causado por mi software antivirus, que en mi caso era McAfee. Fui extrema y desinstalé todo. Pero probablemente haya alguna configuración que podría haber hecho para excluir los directorios de Tomcat del escaneo en vivo.

+0

Año 2015, lo mismo, muchas gracias, nunca hubiera podido atraparlo solo. Creo que la causa fue que accidentalmente habilité algo en una de las innumerables ventanas que McAfee te muestra en un momento u otro durante el uso de PC, pero procedo a desinstalarlo por completo, como lo hiciste, porque, ya sabes, al diablo con los fabricantes de PC y su inclusión de algún software antivirus inútil que ya expiró cuando enciende la máquina por primera vez. –

Cuestiones relacionadas