Ubuntu
在 Ubuntu 的 Tomcat 上執行的 Web 應用程序在哪裡寫入文件?
我有一個 Java Web 應用程序 (
myapp.war
),我想將它部署到 Tomcat,它由 Ubuntu (packagetomcat6
) 提供。這通過放置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 沒有儲存此類文件的通用路徑。