2012-05-29 2 views
1

У меня есть веб-проект Google, который отлично работает в режиме разработки. Где-то внутри этого проекта я создаю некоторые .xml-файлы, которые я удаляю после разбора.создавать временные файлы в папке tomcat webapps

Когда я развертываю .war-файл моего проекта в Tomcat7 (var/lib/tomcat7/webapps) (я использую tomcat для его развертывания), проекту не удается создать какой-либо файл. Я пробовал все возможные пути в папке webapps. Я даже пытался context.getRealPath («/») + «/ ROOT/TMP /», но ничего не происходит

ответ

2

Вы должны использовать временную папку вместо того, чтобы пытаться писать непосредственно в папку развертывания вашего WebAPP в:

ServletContext app = (servlet).getServletContext(); 
File tmpDir = (File)app.getAttribute("javax.servlet.context.tempdir"); 
File targetFile = new File(tmpDir, "mytempfile.xml"); 
... 

Не забудьте сделать все в блоке try/catch и правильно очистить свои ресурсы в блоке «finally», или вы пожалеете;)

+0

На самом деле мне удалось сделать это по-своему, играя с дорожкой. Дело в том, что я хочу писать свои файлы в общедоступной папке. Поэтому даже ROOT не поможет ... – mariosk89

+0

Итак, вам нужно записать временные файлы в общедоступную папку? Зачем? Если вы используете ServletContext.getRealPath(), вы пишете сломанное приложение. –

+0

Ну, мне нужно написать KML-файлы в общедоступной папке, чтобы я мог представить их на gmap. Невозможно разобрать локальные файлы KML, поэтому я пытаюсь найти трюк, чтобы управлять им. – mariosk89

Смежные вопросы