在哪里写入在 Ubuntu 上的 Tomcat 上运行的 Web 应用程序的文件?

在哪里写入在 Ubuntu 上的 Tomcat 上运行的 Web 应用程序的文件?

我有一个 Java Web 应用程序 ( myapp.war),我想将其部署到 Ubuntu ( 软件包 ) 提供的 Tomcat 中tomcat6。这可以通过将其放入目录myapp.jar中来实现webapps。这样就行了。

现在,我的应用程序必须将一些数据存储到本地文件。我的想法是写入用户主目录或当前工作目录。但在 Ubuntu 10.04 上,用户是tomcat6,其主目录是/usr/lib/tomcat6/,当前工作目录是/var/lib/tomcat6/。两者都属于root。因此无法写入。

那么 Web 应用程序应该将其文件存储在哪里?

答案1

我在 Launchpad 上找到了解决方案。/var/lib/tomcat6/webapps/是可写的。这意味着以下内容有效:

File myFile = new File("webapps/myfile.txt");

答案2

Tomcat 可以在任何有权限的地方写入文件。您应该亲自决定将文件写入何处。这在很大程度上取决于数据的性质。例如,您可以写入目录/var/www/yourapp/files。对于 Tomcat webapps 来说,没有通用路径来存储此类文件。

相关内容