簡體   English   中英

取消部署 Tomcat Web 應用程序時如何防止文件鎖定?

[英]How to prevent file locking when undeploying a Tomcat web app?

我在 tomcat 7 中使用管理器應用程序,但我無法完全取消部署應用程序。

它說FAIL - Unable to delete [F:\\apache-tomcat-7.0.33\\webapps\\balaji]. The continued presence of this file may cause problems. 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 操作系統。 如果我能夠修復它,我的取消部署和重新部署過程會順利進行嗎?

這在 Windows 環境中很常見,但有一個通過antiResourceLocking上下文屬性的解決方案:

從 /tomcat/conf 文件夾打開 context.xml 並修改上下文以匹配以下內容:

<Context antiResourceLocking="true">

編輯:在@JanM 評論之后更新了屬性。 以前它還包含“antiJARLocking”

這是tomcat的常見問題之一。 Tomcat 服務器在啟動時獲取資源並進行部署。 在取消部署時,某些資源仍會被 tomcat 使用。 它不會釋放資源,但與此同時,tomcat 中的另一個線程會嘗試清理相同的資源。 因此,刪除這些資源將失敗。 一種最好的方法是手動清理 webapps 中應用程序的根目錄。

我在 Apache Tomcat/8.0.5 中遇到了同樣的問題。 我使用 manager App 執行了以下步驟,它對我有用。

  • 關閉瀏覽器,包括所有選項卡(以刪除緩存)。
  • 重新打開“管理器應用程序”並首先確保應用程序已停止(應啟用啟動按鈕)。
  • 現在點擊取消部署。

我認為當我們直接點擊取消部署時,首先它會鎖定 jars,停止應用程序並嘗試取消部署但失敗並顯示FAIL - Unable to delete message。

如果您真的對狀態感到困惑,請關閉瀏覽器,重新啟動 tomcat,打開“管理器應用程序”,單擊停止然后取消部署。

以管理員身份運行 IDE。 這個對我有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM