gpt4 book ai didi

java - 删除被服务器锁定的 jar

转载 作者:行者123 更新时间:2023-12-01 23:48:18 25 4
gpt4 key购买 nike

我有一个使用 j2ee 和 java 构建的 Web 应用程序,用户可以在其中上传 jar 或删除现有 jar 并上传新的 jar。由于服务器正在运行并且 jar 被它锁定,当用户选择删除 jar 时,我无法删除它。有什么办法可以实现这一点吗?当我用谷歌搜索时,我得到了有关热部署或使用类加载器卸载 jar 然后删除它的信息。这样做的好方法是什么?任何帮助或建议将不胜感激。

最佳答案

如果 Web 服务器正在使用该文件,文件系统将不允许您删除该文件,因为该文件已被 Web 服务器锁定。您有两个选择。

你可以热部署 jar 的一个新副本,例如,如果这是一场 war ,假设你有(为了论证假设 tomcat)...

ROOT.war,您可以将 ROOT#001.war 复制到 webapps 目录中,所有流量将移至此位置。这场新的 war 可能会包含你的新 jar 。

我个人很少这样做,因为我相信 Web 服务器在重新启动时可以更好地释放资源。除此之外,如果您想安全地动态部署 jar,您唯一真正的选择是停止 Web 服务器,应用 jar,然后重新启动。如果您不想停机,您可以考虑对环境进行集群,但这实际上取决于它对您的业务重要性。

关于java - 删除被服务器锁定的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16666851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com