我有一个在开发模式下完美运行的 Google Web 项目。在这个项目的某个地方,我创建了一些 .xml 文件,我在解析后删除了这些文件。
当我在 Tomcat7 (var/lib/tomcat7/webapps) 中部署我的项目的 .war 文件时(我使用 tomcat 管理来部署它),项目无法创建任何文件。我已经尝试了 webapps 文件夹中所有可能的路径。我什至尝试过 context.getRealPath("/")+"/ROOT/tmp/" 但没有任何反应
我有一个在开发模式下完美运行的 Google Web 项目。在这个项目的某个地方,我创建了一些 .xml 文件,我在解析后删除了这些文件。
当我在 Tomcat7 (var/lib/tomcat7/webapps) 中部署我的项目的 .war 文件时(我使用 tomcat 管理来部署它),项目无法创建任何文件。我已经尝试了 webapps 文件夹中所有可能的路径。我什至尝试过 context.getRealPath("/")+"/ROOT/tmp/" 但没有任何反应
您应该使用 temp 文件夹,而不是尝试直接写入 webapp 的部署目录:
ServletContext app = (servlet).getServletContext();
File tmpDir = (File)app.getAttribute("javax.servlet.context.tempdir");
File targetFile = new File(tmpDir, "mytempfile.xml");
...
请记住在 try/catch 块中执行所有操作并在“finally”块中正确清理您的资源,否则您会很抱歉;)