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,只需将存档移动到父文件夹,然后存档或执行任何您想做的事情。