欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

问题:上传文件到Tomcat后,每次重新发布项目,之前上传的文件莫名其妙消失了

程序员文章站 2022-05-28 11:54:23
...

问题记录:


  问题:上传文件到Tomcat后,每次重新发布项目,之前上传的文件莫名其妙消失了问题:上传文件到Tomcat后,每次重新发布项目,之前上传的文件莫名其妙消失了问题:上传文件到Tomcat后,每次重新发布项目,之前上传的文件莫名其妙消失了问题:上传文件到Tomcat后,每次重新发布项目,之前上传的文件莫名其妙消失了问题:上传文件到Tomcat后,每次重新发布项目,之前上传的文件莫名其妙消失了问题:上传文件到Tomcat后,每次重新发布项目,之前上传的文件莫名其妙消失了
  原因:Eclipse中配置的发布项目的服务器之前修改成了我自定义的Tomcat路径,修改成Eclipse自带的服务器后,问题解决。实际原因我看了一些CSDN的博客上说,在实际开发中,上传文件到服务器消失是因为Tomcat在每次重新发布会覆盖之前的项目,注意是覆盖。所以还想找到之前的上传文件,想太多了,套用我一个兄弟的话,Too young too naive!
解决方法:除了上面提到的使用Eclipse自带的Tomcat外,CSDN上还有人说可以将上传路径改成WebApps目录之外,这种方式没有亲自测试,感觉可行。
  最后说一句,一位CSDN大牛博客提到这个问题只有在开发过程中遇到,实际部署项目,上线之后。不会遇到这个问题,因为部署项目后,不存在重新部署,只有启动和停止。可是如果后期需要维护修改代码重新部署的话,上传文件不是又要全丢了,我想到的方法就是在重新部署项目前备份所有上传文件。就写到这吧。

 补充:纠正一下,使用Eclipse自带的Tomcat做文件上传,之前上传文件还是会在一段时间后被Eclipse清除。只有将路径放在项目路径外,才可以避免上传文件在项目重新部署后覆盖原来上传目录造成已上传的文件的丢失或是因放置在Eclipse默认Tomcat一段时间后上传文件被删除问题,可以在apache-tomcat-8.0.53\webapps目录下创建和项目平级的文件夹用来存储上传文件。然后修改server.xml

打开apache-tomcat-8.0.53\conf目录下的server.xml可以看到如下:
 

​
<Context docBase="worksshow" path="/worksshow" reloadable="true" source="org.eclipse.jst.jee.server:worksshow"/>


​

修改成


<Context docBase="worksshow" path="/worksshow" reloadable="true" source="org.eclipse.jst.jee.server:worksshow"/>
<Context docBase="worksshow_upload"  reloadable="true"  debug="0" path="/worksshow_upload"/>

​