2013-03-15 32 views
0

我最近不得不從一位老同事接管一個項目;這個項目是用JAVA編寫的,使用Java Web-Start並使用輕型Java庫(org.apache.catalina.startup.Tomcat)。Java便攜式Tomcat在桌面上創建目錄

每當Tomcat服務器啓動時,我首先與Web應用程序交互,就會在Windows桌面上創建3個目錄(存儲,sys,temp)。

當我查看普通的Tomcat安裝時,這些目錄存在於tomcatHome \ bin \目錄中。

問題

有誰知道如何把這些目錄的創建重定向到我C:\ TomcatHome \目錄?

下面是我的代碼片段:

import org.apache.catalina.startup.Tomcat; 
import org.apache.catalina.Context; 
import org.apache.catalina.LifecycleException; 
import org.apache.catalina.loader.WebappLoader; 

... 

// Define the user.dir directory. 
System.setProperty("user.dir", "C:\\TomcatHome"); 
// Print out the user.dir and user.home system variables. 
System.out.println("user.dir = " + System.getProperty("user.dir")); 
System.out.println("user.home = " + System.getProperty("user.home")); 

... 

Tomcat m_tomcat = new Tomcat(); 
m_tomcat.setBaseDir("C:\\TomcatHome"); 
m_tomcat.setPort(5009); 
m_tomcat.getHost().setDeployOnStartup(true); 
m_tomcat.getHost().setAutoDeploy(true); 
m_tomcat.getHost().setAppBase("C:\\TomcatHome\\webapps"); 
m_tomcat.getServer().setPort(5109); 
m_tomcat.getServer().setShutdown("SHUTDOWN"); 

... 

// Add abc web-application to Tomcat. 
Context ctx = m_tomcat.addWebapp(null, "/abc", "abc"); 
ctx.setLoader(new WebappLoader(class.getClassLoader())); 
// Add xyz web-application to Tomcat. 
ctx = m_tomcat.addWebapp(null, "/xyz", xyz); 
ctx.setLoader(new WebappLoader(class.getClassLoader())); 
// Add ROOT folder to Tomcat. 
ctx = m_tomcat.addWebapp(null, "", "ROOT"); 
ctx.setLoader(new WebappLoader(class.getClassLoader())); 

... 

m_tomcat.start(); 

此代碼打印出:

user.dir = C:\TomcatHome 
user.home = C:\Users\myName 

回答

2

這些都是臨時目錄。如圖所示here檢查catalina.sh的臨時文件夾配置。

+0

感謝您的快速回復......但我的應用程序正在使用便攜式/輕量級,無論您想調用它,Tomcat的版本。有沒有catalina.sh文件,我可以看到:( – MattWeiler 2013-03-15 14:40:34

+0

我應該補充一點,我試圖設置CATALINA_TMPDIR系統變量在運行Tomcat實例之前,它並沒有改變臨時文件的位置。 – MattWeiler 2013-03-15 15:02:13

+0

我也嘗試設置catalina.home和catalina.base系統變量作爲Tomcat.setBaseDir(...)方法JavaDoc的狀態,但是這並沒有改變位置,我覺得這可能是org.apache.catalina中的一個錯誤。 startup.Tomcat類 – MattWeiler 2013-03-15 15:25:08