gpt4 book ai didi

Tomcat Deployment - Tomcat如何检测 war 变化?

转载 作者:行者123 更新时间:2023-11-28 22:13:18 24 4
gpt4 key购买 nike

我们有一个 tomcat 部署,我们正在部署一个名为 app.war 的 war。在 /opt/tomcat/webapps 目录中,您会看到:

/opt/tomcat/webapps/foo.war
/opt/tomcat/webapps/foo
/opt/tomcat/webapps/host-manager
/opt/tomcat/webapps/jmx-console
...

可以看到Tomcat将foo.war部署到了foo目录下。

我想如果我们在 webapps 目录下放一个新的 foo.war ,Tomcat 会检查它是否被改变了,删除旧的 foo 目录,并将 foo.war 解包到 foo 中。

我们有一个失败的自动部署脚本,部署脚本关闭 Tomcat,将 foo.war 复制到 /opt/tomcat/webapps 并重新启动 Tomcat。但是,Tomcat 从未将 /opt/tomcat/webapps/foo 目录替换为新的 foo.war 的内容。手动删除 /opt/tomcat/webapps/foo 允许 Tomcat 创建一个新的 foo 目录,其中包含所有新文件。

部署脚本本应删除 /opt/tomcatwebapps/foo 但由于脚本中的错误并未发生。我们现在已经修复了这个错误。但是,该脚本之前已在部署中使用过,我们从未遇到过这个问题,因此我假设 Tomcat 能够检测到更改并部署新的 foo.war

那么,Tomcat 是否检测到 war 文件何时被更改。如果是这样,它是如何做到的?部署脚本接触 war 文件以更新时间戳以帮助进行此检测,因此这不可能是时间戳问题。

最佳答案

如果您将 foo.war 复制到 webapps 中,tomcat 将重新部署您的应用程序。检查 catalina.out 的日志。

部署前不要关闭 Tomcat。在 eclipse 或 netbeans 中修改您的源代码,创建 war 文件然后部署,如果您使用的是 ant 或 maven,则更好,您可以使用它们进行部署。

关于Tomcat Deployment - Tomcat如何检测 war 变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20980492/

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