1

I have a Java web application (myapp.war) which I want do deploy to Tomcat, which is provided by Ubuntu (package tomcat6). This works by placing myapp.jar to the webapps direcotry. This works.

Now, my application has to store some data to local files. My idea was to write to the users home direcotry or to the current work direcotry. But on Ubuntu 10.04 the user is tomcat6, its home is /usr/lib/tomcat6/ and the current work directory is /var/lib/tomcat6/. And both belong to root. Therefore writing is impossible.

So where should a web application store its files?

Witek
  • 1,433
  • 3
  • 14
  • 16
  • Also asked and answered on SO http://stackoverflow.com/questions/3160343/where-should-a-java-web-application-store-its-data/3160761#3160761 – David J. Liszewski Jul 19 '10 at 14:26

2 Answers2

0

I found the solution on Launchpad. /var/lib/tomcat6/webapps/ is writable. This means, that the following works:

File myFile = new File("webapps/myfile.txt");
Witek
  • 1,433
  • 3
  • 14
  • 16
0

Tomcat can write file anywhere where there is permission for it. You personally should decide where to write your files. This depend strongly on the nature of the data. E.g. you can write to directory /var/www/yourapp/files. There is no common path to store such files for Tomcat webapps.

IvanR
  • 103
  • 3