1. ホーム
  2. jsp

[解決済み] TomcatのJSPページがコンパイルできない(java.io.IOException: tmpFile.renameTo(classFile) failed)。

2022-02-09 11:01:04

質問

TomCatでWebアプリケーションを実行すると、毎回エラーが発生します。.jspファイルには何の問題もありません。ただ、このエラーをなくすために、サーバーを再起動したり、時には完全なIDEを再起動しなければなりません。

エラーは以下の通りです。

2014年03月12日 17時57分01秒 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: サーブレット[jsp]のServlet.service() が、以下のコンテキストで起動しました。 パス [/Assignment_1_Flight_Reservation_System] で例外 [Unable] がスローされました。 java.io.IOException を根本原因として、[to compile class for JSP] を実行しました。 で tmpFile.renameTo(classFile) に失敗しました。 org.apache.jasper.compiler.SmapUtil$SDEInstaller.install(SmapUtil.java:204) at org.apache.jasper.compiler.SmapUtil.installSmap(SmapUtil.java:163) で org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:483) at org.apache.jasper.compiler.compiler.compile(Compiler.java:378) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)。 で org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) で org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at 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) で org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) で org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) で org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)。 で 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.java:589) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)

解決方法は?

Tomcarの作業ディレクトリ$TOMCAT/workをクリーンアップして、作業ディレクトリのパーミッションを確認する。