2012-04-17 26 views
1

我正在使用運行在Tomcat上的舊Java Web應用程序。我知道,通常你會從使用Tomcat的默認服務器配置(server.xml)的webapps目錄運行web應用程序。這個特定的應用程序使用自定義的server.xml部署到不同的目錄,因此每個應用程序需要1個tomcat實例。我相信它最初以這種方式設置的原因是由於每個Web應用程序都會生成必須在應用程序重新部署之間保存的文件。tomcat webapp - 我在哪裏存儲永久文件

我的問題是 - 是否有使用webapps目錄下,而且從應用程序的重新部署過程中被消滅保存某些文件的方法嗎?

這是我們當前的Tomcat的佈局

tomcat/ 
    servers/ 
    ourapp/ 
     output/ # heres where the files go that we save 
     ourapp/ # this is the actual webapp (exploded WAR file) 
     WEB-INF/ 
     ... 

我想是這樣

tomcat/ 
    webapps/ 
    ourapp/ 
     output/ # but this is saved between redeploys 
     WEB-INF/ 
    ... 

我的最終目標是從自定義的server.xml中的,所以我們部署多個應用逃脫一個Tomcat實例。萬一在問題 - 我們在Tomcat 6

+0

[相關](http://stackoverflow.com/q/1510104/29995) – 2012-04-17 15:43:50

回答

4

我建議不是要這些文件存儲在webapps/如果你想他們堅持。該目錄非常不穩定。此外,維護系統的其他開發人員可能沒有意識到您已經存儲了持久數據,並可能會意外擦除它。

我會去一個位置/var/lib,或許/var/lib/ourapp/...。或者,如果您的服務器環境及其管理方式對您有用,則可將其存儲在$HOME/.ourapp中。

+0

+1; 「永久」文件應存儲在可配置的位置。這些文件可以流式傳輸,符號鏈接等。 – 2012-04-17 15:22:17

+0

@DaveNewton - 同意配置。我通常使用屬性文件或系統屬性來定義存儲位置。 – 2012-04-17 15:24:22

+0

酷 - 謝謝你們。這就說得通了。我會在10分鐘後立即接受。 – jeff 2012-04-17 15:27:00

0

我建議您將文件保存在Tomcat(可能在webapps之外或之內),而不是在文件系統的隨機目錄中。
這種方式,它與您的web應用程序「捆綁在一起」

+1

我同意,這是很好的有接近對方的事情,但IMO下'$ TOMCAT_HOME'目錄會比像'在/ var/ourapp'的位置更隨心所欲或'$ HOME/.ourapp'。這些目錄是應用程序數據的標準linux位置。這也取決於Tomcat的安裝方式。如果通過RPM完成的話,Tomcat可能會被安裝到'/ usr'的某個地方,這對於存儲持久的應用程序數據來說是一個尷尬的地方。請參閱[Linux Filesystem Hierarchy](http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/c23.html)。 – 2012-04-17 15:35:25