2016-06-07 70 views
1

當我在tomcat上運行我的web應用程序時,當然它的類是具有tomcat工作目錄的,因爲JWM是在那裏啓動的。但有什麼辦法可以配置tomcat,因爲每個已部署應用程序的所有類都將應用程序目錄作爲其工作目錄?有沒有什麼辦法可以配置tomcat servlet的工作目錄?

+0

那麼它是什麼,它是你想做的事是什麼呢? –

+0

@PritamBanerjee我編輯的問題:我需要我的應用程序類具有應用程序文件夾,因爲它是工作目錄,而不是tomcat啓動文件夾。 – TEXHIK

回答

0

您可以更改Tomcat的啓動腳本。 tomcat進程會繼承當前目錄的啓動腳本。爲了使tomcat在不同的工作目錄中啓動,你必須找出啓動tomcat的是什麼,並在運行startup.sh之前更改該進程以更改爲所需的目錄。

你可以看看here關於如何設置工作目錄。

+0

這很好,**但是**它只是改變了** tomcat ** WD,所以我將擁有與tomcat和_all_我的webapps相同的WD,這當然可以通過從不同目錄啓動tomcat來實現。我正在尋找配置** webapp ** WD的方式,獨立於其他應用程序和tomcat(僅取決於webapps root)。 – TEXHIK

1

您不必配置Tomcat工作目錄。您可以通過以下方式從您的servlet獲取應用程序根目錄:

String root = getServletContext().getRealPath("/"); 

請注意,可以從客戶端瀏覽器訪問此文件夾。

如果你想有一個工作目錄是無法訪問的客戶端,創建WEB-INF中的文件夾

String privateRoot = getServletContext().getRealPath("/WEB-INF"); 
+0

是的,我可以獲得我的應用程序的絕對路徑,但我試圖配置log4j。所以,我正在尋找一種方式,在這裏我可以爲日誌設置本地路徑,並確保在任何容器配置中,日誌都將存儲在我的應用程序目錄中。 – TEXHIK

相關問題