有时 Tomcat 不会在启动时重新部署

有时 Tomcat 不会在启动时重新部署

rm -rf我们宁愿在生产中避免使用臭名昭著的命令,即使它是脚本化的。因此,如果您有一个名为的 war 文件mywebapp.war,并且将其部署到名为的目录,那么您如何在不使用 Tomcat 错误的webapps/情况webapps/mywebapp/下强制重新部署?rm -rf webapps/mywebapp/ Tomcat 错误是间歇性的,很难重现,因此我试图深入挖掘社区经验,寻找已知有效的技巧。

关于什么:

  • 在启动之前设置战争或部署目录的访问日期和/或其内容?

  • 向 Tomcat 进程发送 Unix 信号?

  • 其他?

我们对使用脚本有点固执己见,而不是像 Tomcat Deployment Widget 这样的东西,所以我正在寻找不会导致全面反叛的可脚本化选项。;-)

答案1

您可以touch your_app.war立即让 Tomcat 重新部署。

如果您担心保护.war文件的时间戳(这是一个好主意),您可以保留从 webapps 目录到文件实际位置的符号链接.war并触摸该符号链接。

答案2

在 Tomcat 的 server.xml 中,您可以配置 appBase 以执行 autoDeploy="true" 和 unpackWARs="true"。

然后,如果你部署一个 war 文件,它将创建目录,如果你重命名 war 文件,它将删除它。这并不推荐用于生产用途。

另外,如果您不想执行 rm -rf,只需将存档移动到父文件夹,然后存档或执行任何您想做的事情。

相关内容