0

我最近不得不从一位老同事那里接手一个项目;这个项目是用 JAVA 编写的,使用 Java Web-Start 并使用一个轻量级的 Java 库(org.apache.catalina.startup.Tomcat)。

每当 Tomcat 服务器启动并且我第一次与 Web 应用程序交互时,它都会在 Windows 桌面上创建 3 个目录(store、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
4

1 回答 1

2

这些是临时目录。如此处所示检查catalina.sh临时文件夹配置。

于 2013-03-15T14:27:30.920 回答