Ubuntu

在 Ubuntu 的 Tomcat 上執行的 Web 應用程序在哪裡寫入文件?

  • July 19, 2010

我有一個 Java Web 應用程序 ( myapp.war),我想將它部署到 Tomcat,它由 Ubuntu (package tomcat6) 提供。這通過放置myapp.jar到目錄中起作用webapps。這行得通。

現在,我的應用程序必須將一些數據儲存到本地文件中。我的想法是寫給使用者的家庭目錄或目前的工作目錄。但在 Ubuntu 10.04 上,使用者是tomcat6,它的主/usr/lib/tomcat6/目錄是,目前工作目錄是/var/lib/tomcat6/。並且兩者都屬於root。所以寫作是不可能的。

那麼 Web 應用程序應該在哪裡儲存它的文件呢?

我在 Launchpad 上找到了解決方案。/var/lib/tomcat6/webapps/是可寫的。這意味著,以下工作:

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

Tomcat 可以在任何有權限的地方寫入文件。你個人應該決定在哪裡寫你的文件。這在很大程度上取決於數據的性質。例如,您可以寫入目錄/var/www/yourapp/files。Tomcat webapps 沒有儲存此類文件的通用路徑。

引用自:https://serverfault.com/questions/156759