Причина сбоя tmpFile.renameTo (classFile) во время компиляции JSP - PullRequest
8 голосов
/ 11 сентября 2010

Недавно я начал испытывать странное поведение в JSP-приложении JBOss 4.0.5.Сбой компиляции 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)

После нескольких повторных попыток (при числе от 0 до ~ 7) страница в итоге компилируется и отображается ОК.

Платформа - Windows 7-Pro 64-битная, версия 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:

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

Версия Tomcat - 5.5 (та, которая включена в JBoss).

Спасибо.

Ответы [ 3 ]

8 голосов
/ 08 августа 2014

Перенесемся через четыре года к 2014 году. Tomcat 8, Java 8, Windows 8, та же ошибка. После полдня разочарования это вызвано моим антивирусом, которым в моем случае был McAfee. Я пришел в крайность и удалил все это. Но, возможно, я мог сделать некоторые настройки, чтобы исключить каталоги Tomcat из сканирования в реальном времени.

5 голосов
/ 16 января 2013

Папка, которая выбрасывает IOException, на самом деле доступна только для чтения, после изменения на доступную для записи все работает нормально.

4 голосов
/ 11 сентября 2010

Это относится к ошибка Tomcat 5.5 38713 . Кажется, это исправлено в Tomcat 5.5.25 и более поздних версиях.

...