内存泄漏-如何在卸载Tomcat web应用程序时防止文件锁定



我正在tomcat 7中使用管理器应用程序,我无法完全取消部署应用程序。

上面写着FAIL - Unable to delete [F:apache-tomcat-7.0.33webappsbalaji]. The continued presence of this file may cause problems.

我在某个地方读到它是因为一种叫做内存泄漏的现象,如果我们修复它,这个问题就会得到解决。

有人能告诉我tomcat 7中的内存泄漏是什么吗?我们该如何修复它??我使用的是Windows7操作系统。如果我能够修复它,我的取消部署和重新部署过程会顺利运行吗?

这在Windows环境中很常见,但有一个通过antiResourceLocking上下文属性的解决方案:

从/tomcat/conf文件夹打开context.xml,并修改上下文以匹配以下内容:

<Context antiResourceLocking="true">

编辑:更新了@JanM评论后的属性。此前,它还包含"antiJARLocking"

这是tomcat的常见问题之一。Tomcat服务器在启动时捕获并部署资源。在取消部署时,Tomcat仍将使用一些资源。它还没有释放资源,但与此同时,tomcat中的另一个线程会尝试清理相同的资源。因此,删除这些资源将失败。一个最好的方法是手动清理webapps中应用程序的根目录。

我在Apache Tomcat/8.0.5中遇到了同样的问题。我使用经理应用程序完成了以下步骤,它对我有效。

  • 关闭包括所有选项卡在内的浏览器(以删除缓存)
  • 重新打开"Manager应用程序",首先确保应用程序已停止(应启用启动按钮)
  • 现在点击取消部署

我认为,当我们直接单击取消部署时,首先它会锁定jar,停止应用程序并尝试取消部署,但失败并显示FAIL - Unable to delete消息。

如果你真的对状态感到困惑,请关闭浏览器,重新启动tomcat,打开"管理器应用程序",单击停止,然后取消部署。

以管理员身份运行IDE。它适用于我

相关内容

  • 没有找到相关文章

最新更新