我想为在Tomcat上运行的应用程序设置更新过程。托管tomcat的服务器仅在工作时间内打开(它是小公司的内部应用程序)。我以为我可以将新的战争上传到服务器并设置“东西”以在下一次服务器启动时运行。这个东西可能是一个bat文件,它将在服务器启动时执行,但在Tomcat服务启动之前执行,它将删除旧的war及其爆炸文件夹。当我手动更新战争时,我也删除了Tomcat的工作文件夹(只是为了确定)。我知道热部署,但我不认为这是一个选项,因为我不太确定它可能对用户当前的工作会话产生什么影响。
有没有办法在Tomcat启动之前运行这样的bat文件或另一种方法来执行此更新? Tomcat版本不是问题。现在正在运行Tomcat 6,但如果需要,我可以升级到版本7.
我也在serverfault发布了这个帖子,但我在这里发帖,如果你认为这违反了这些条款,我很抱歉,我将删除它。
答案 0 :(得分:1)
您可以创建一个批处理文件来执行更新,然后启动Tomcat。
使用srvany.exe或FireDaemon使您的脚本成为将在机器启动时启动的Windows服务。
由于我更喜欢使用Java来编写脚本,我宁愿使用Java Service Wrapper来编写我的Tomcat更新和启动,并使其成为Windows服务。