如何在不删除/取消部署旧应用程序的情况下在tomcat中重新部署war文件?

时间:2016-12-01 10:04:06

标签: java tomcat

我已经有了一个带有Web Manager的Tomcat服务器,我可以部署我的WAR文件。

WAR文件包含我的Web应用程序,此Web应用程序具有一个功能,用户可以将图像上传到其中一个文件夹中。

问题是当我需要使用新的WAR文件更新Web应用程序时。

当我通过Tomcat管理器上传它时。它说WAR文件已经存在。 在我上传更新的WAR之前,我必须首先取消它。

我不想执行此UNDEPLOY流程,因为它会删除应用程序以及用户已上传的所有图片。

那么,如何在不删除上传文件的情况下更新我的Web应用程序? 或者我的应用程序使用了错误的方法?

1 个答案:

答案 0 :(得分:0)

因为我需要快速修复。以下是我的工作:

  1. 在服务器上的任何位置创建一个临时文件夹,让我们说" / var / tmp / war_images"。这将用于在部署新战争时临时存储上传的图像
  2. 创建一个文件夹以放置新的WAR文件。让我们说" / var / tmp / war"
  3. 创建一个执行以下操作的shell脚本:
    • 将用户上传图片的文件夹中的所有图片复制到上面的临时文件夹
    • 删除tomcat中的应用程序文件夹
    • 删除tomcat中的WAR文件
    • 将新WAR文件从第2点复制到tomcat8文件夹
    • 重启tomcat(触发部署)
    • 将第1点的所有图像复制回部署过程新创建的应用程序文件夹
  4. 所以当我想部署一个新的WAR时。我将新的WAR文件放在第2步,然后执行shell脚本。