繁体   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