【问题标题】:What is the Tomcat/temp directory in Tomcat 7?Tomcat 7 中的 Tomcat/temp 目录是什么?
【发布时间】:2011-10-30 01:37:02
【问题描述】:

Tomcat 7 的全新下载(我使用的是 7.0.19)包含一个“temp”目录,其中包含单个文件“safeToDelete.tmp”。这个目录是 Tomcat 用来做什么的,或者 Tomcat 用户(开发者)应该如何使用?

【问题讨论】:

    标签: tomcat tomcat7


    【解决方案1】:

    当你启动 Tomcat 时,使用startup.bat(Windows)或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.
    

    其中CATALINA_BASETOMCAT_HOME(如果使用startup 脚本运行)。

    我们继续:

    if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
    set "CATALINA_TMPDIR=%CATALINA_BASE%\temp"
    

    最后:

    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
    

    最后,java.io.tmpdir 指向CATALINA_TMPDIR,JVM 在其中写入临时文件,包括基于磁盘的存储策略。

    【讨论】:

    • OP 询问tmp 文件夹的用途。
    • @Reimius,我添加了进一步的说明以进行澄清。
    • 不确定是不是只是Ubuntu的东西,但值得注意的是很多相关设置都定义在/etc/default/tomcat7
    猜你喜欢
    • 1970-01-01
    • 2012-02-09
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    相关资源
    最近更新 更多