Java tomcat重新部署时,以前的上载文件丢失

Java tomcat重新部署时,以前的上载文件丢失,java,tomcat,deployment,struts2,upload,Java,Tomcat,Deployment,Struts2,Upload,我正在写一个网站的功能文件上传。 我保存文件的路径是通过ServletActionContext.getServletContext().getRealPath(“xxxx”) 它将文件保存到webapps/mywebsit/xxxx 允许客户端通过http://mywebsit/mebsite/xxxxx 功能正常。 但在tomcat上重新部署时,问题就来了 当我通过war文件重新部署时。 似乎有点删除了所有的webapps/mywebsit。 并使用新war文件部署它。 以前的上传文件丢失

我正在写一个网站的功能文件上传。 我保存文件的路径是通过
ServletActionContext.getServletContext().getRealPath(“xxxx”)

它将文件保存到
webapps/mywebsit/xxxx
允许客户端通过
http://mywebsit/mebsite/xxxxx

功能正常。 但在tomcat上重新部署时,问题就来了

当我通过
war文件重新部署时。
似乎有点删除了所有的
webapps/mywebsit
。 并使用
新war文件部署它。
以前的上传文件丢失

我是否可以让tomcat在重新部署时不删除我的文件?
或者我应该在webapps之外存储文件?但我如何才能让客户端能够访问该文件呢?

当tomcat重新部署您的应用程序时,它将完全删除/webapps/下的目录,并从头开始解压WAR。我建议您将文件保存在webapp目录之外。您可以尝试使用环境变量将您的应用程序指向您想要使用的目录,注意运行tomcat的用户是否具有适当的访问权限。

文件应存储在web应用程序根目录之外。可能的重复只会重复该任务的一部分。注意:除了将文件存储在用户可以访问的web或应用程序服务器的适当目录中之外,还可以将URL部分“XXXXX”映射到服务器上只有web应用程序具有读取权限的本地文件路径,然后从Servlet下载文件或将其内容打印为网页。谢谢你。我用#user1902288的方法解决了这个问题