Tomcat 7中的Tomcat/temp目录是什么?

mar*_*ian 17 tomcat tomcat7

全新下载的Tomcat 7(我使用的是7.0.19)包含一个包含单个文件'tempToDelete.tmp'的'temp'目录.Tomcat使用的目录是什么,Tomcat用户(开发人员)应该如何使用?

Buh*_*ndi 26

使用startup.bat(Windows)或启动Tomcat时,startup.sh它分别调用catalina.bat/ catalina.sh.

然后Catalina需要设置临时目录.它通过将CATALINA_TMPDIR变量设置为TOMCAT_HOME\temp文件夹并将其分配给java系统环境变量来实现java.io.tmpdir.

这是从catalina.bat以下复制:

rem   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
rem                   the JVM should use (java.io.tmpdir).  Defaults to
rem                   %CATALINA_BASE%\temp.
Run Code Online (Sandbox Code Playgroud)

哪里CATALINA_BASETOMCAT_HOME(如果使用的是运行startup脚本).

我们继续:

if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
set "CATALINA_TMPDIR=%CATALINA_BASE%\temp"
Run Code Online (Sandbox Code Playgroud)

最后:

if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
goto end
:doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
goto end
Run Code Online (Sandbox Code Playgroud)

最后,java.io.tmpdir指出CATALINA_TMPDIR了JVM写入临时文件的位置,包括基于磁盘的存储策略.

  • OP询问`tmp`文件夹用于什么. (5认同)