web-dev-qa-db-ja.com

Tomcat JSPページがコンパイルされない(Java.io.IOException:tmpFile.renameTo(classFile)が失敗した)

TomcatでWebアプリケーションを実行するたびにエラーが発生します。 .jspファイルには何の問題もありません。サーバーを再起動する必要があるだけで、このエラーを解消するためにIDE.

エラーは次のとおりです

2014年3月12日5:57:01 PM org.Apache.catalina.core.StandardWrapperValve invoke SEVERE:Servlet.service()for servlet [jsp] context with context [/ Assignment_1_Flight_Reservation_System] threw例外[JSPのクラスをコンパイルできません]根本原因Java.io.IOException:tmpFile.renameTo(classFile)がorg.Apache.jasper.compiler.SmapUtil $ SDEInstaller.install(SmapUtil.Java:204)で失敗しましたorg.Apacheでorg.Apache.jasper.compiler.Compiler.compile(Compiler.Javaのorg.Apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.Java:483)の.jasper.compiler.SmapUtil.installSmap(SmapUtil.Java:163) :378)org.Apache.jasper.compiler.Compiler.compile(Compiler.Java:353)at org.Apache.jasper.compiler.Compiler.compile(Compiler.Java:340)at org.Apache.jasper.JspCompilationContext。 org.Apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.Java:357)at org.Apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.Java:390)at org.Apacheでコンパイル(JspCompilationContext.Java:646) .jasp org.Apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.Java:305)のjavax.servlet.http.HttpServlet.service(HttpServlet.Java:728)のer.servlet.JspServlet.service(JspServlet.Java:334) org.Apache.catalina.coreにあるorg.Apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.Java:210)にorg.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.Java:393)に.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.Java:243)at org.Apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.Java:210)at org.Apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.Java:222) org.Apache.catalina.core.StandardHostValve.invoke(StandardContextValve.Java:123)at org.Apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.Java:472)at org.Apache.catalina.core.StandardHostValve.invoke( StandardHostValve.Java:171)org.Apache.catalina.valves.ErrorReportValve.invoke(ErrorRep ortValve.Java:99)org.Apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.Java:953)at org.Apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.Java:118)at org.Apache.catalina .connector.CoyoteAdapter.service(CoyoteAdapter.Java:408)at org.Apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.Java:1023)at org.Apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.Java.1023) )org.Apache.Tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.Java:312)at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1145)at Java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.Java:615)at Java.lang.Thread.run(Thread.Java:744)

11
MindBrain

Tomcar作業ディレクトリ$ Tomcat/workをクリーンアップして問題が解決したかどうかを確認し、作業ディレクトリ構造の権限を確認します

13
Cedric Simon

プロジェクトとともにTomcatの作業ディレクトリをクリーンアップします。

サーバーを実行して再起動すると、サーバーが機能するはずです

Clean Working Directory of Tomcat Server

7
HimalayanCoder

私はこれが遅いことを知っていますが、2017年にTomcat 8を使用すると、これはまだ起こります。
問題は3つのうちのいずれかです。

  1. 適切な権限がありません
    この場合、これはすべてのjspで毎回発生するはずです。
  2. ファンキーなことが起こっており、作業ディレクトリをクリアする必要があります。
    この場合、問題は通常、すべてのjspで毎回発生しますが、断続的である可能性があります。
  3. McAfeeやWindowsのインデックス作成などの別のプログラムが一時クラスファイルを読み取っていて、名前を変更することを許可していません。
    これが私のチームに起こったことです。 McAfeeが新しく作成されたファイルをスキャンしていて、問題が完全に断続的であったため、ランダムに発生しました。これを修正するには、核に行ってアンチウイルスをアンインストールしますが、これが不可能な環境にいる場合は、セキュリティチームに作業フォルダとApacheフォルダにスキャンの除外を追加するよう依頼してください。
    これが問題でない場合は、作業フォルダーとApacheフォルダーでウィンドウのファイルインデックスをオフにしてみてください。
5
Nicholas Aupke

私にとっては、Tortoise GitのTGitCache.exeであることがわかりました。アイコンオーバーレイを更新しようとしている必要があります。

0
Kevin Wise

1)Tomcat作業ディレクトリをクリーンアップします。2)ワークスペースを再起動します(Eclipse内でサーバーを使用している場合)。 3)サーバーを再起動します。

これは私にとってはうまくいきます。

0
Gopi