Tomcat 7でマネージャーアプリを使用していますが、アプリケーションを完全にアンデプロイできません。
FAIL - Unable to delete [F:\Apache-Tomcat-7.0.33\webapps\balaji]. The continued presence of this file may cause problems.
メモリリークと呼ばれる現象のためにどこかで読みましたが、修正すれば問題は解決します。
Tomcat 7のこのメモリリークとは何ですか?それをどのように修正できますか? Windows 7 OSを使用しています。修正できる場合、アンデプロイおよび再デプロイのプロセスはスムーズに実行されますか?
これはWindows環境では非常に一般的ですが、 antiResourceLocking
コンテキストプロパティによる解決策があります。
/ Tomcat/confフォルダーからcontext.xmlを開き、これに一致するようにコンテキストを変更します。
<Context antiResourceLocking="true">
編集:@JanMコメントに続くプロパティを更新しました。以前は、「antiJARLocking」も含まれていました
これはTomcatの一般的な問題の1つです。 Tomcatサーバーは、起動時にリソースを保持してデプロイします。アンデプロイ中、一部のリソースはまだTomcatで使用されています。リソースはまだリリースされていませんが、同時にTomcatの別のスレッドが同じリソースをクリーンアップしようとします。したがって、これらのリソースの削除は失敗します。 1つの最良の方法は、webappsのアプリケーションのルートディレクトリを手動でクリーンアップすることです。
Apache Tomcat/8.0.5でも同じ問題に遭遇しました。マネージャーアプリを使用して次の手順を実行しましたが、うまくいきました。
アンデプロイを直接クリックすると、まずjarがロックされ、アプリケーションが停止してアンデプロイが試行されますが、FAIL - Unable to delete
メッセージで失敗します。
ステータスが本当に混乱している場合は、ブラウザーを閉じ、Tomcatを再起動し、「マネージャーアプリ」を開き、停止をクリックしてからアンデプロイします。