2012-05-29 91 views
1

我有一個完美的開發模式的Google Web項目。在這個項目的某個地方,我創建了一些在解析後刪除的.xml文件。在tomcat webapps文件夾中創建臨時文件

當我在Tomcat7(var/lib/tomcat7/webapps)中部署我的項目的.war文件(我使用tomcat管理器來部署它)時,項目無法創建任何文件。我已經嘗試了webapps文件夾內的所有可能的路徑。我甚至嘗試context.getRealPath(「/」)+「/ ROOT/tmp目錄/」,但什麼也沒發生

回答

2

您應該使用的臨時文件夾,而不是試圖直接寫信給你的web應用程序的部署目錄:

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

相關問題