Что такое каталог Tomcat / temp в Tomcat 7? - PullRequest
16 голосов
/ 18 августа 2011

Новая загрузка Tomcat 7 (я использую 7.0.19) содержит каталог «temp», содержащий единственный файл, «safeToDelete.tmp».Для чего этот каталог используется Tomcat или как его следует использовать пользователям (разработчикам) Tomcat?

1 Ответ

25 голосов
/ 25 августа 2011

Когда вы запускаете Tomcat, используя startup.bat (Windows) или startup.sh, он вызывает catalina.bat / catalina.sh соответственно.

Затем Каталине нужно установить временный каталог. Он делает это, устанавливая переменную 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_BASE равно TOMCAT_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 записывает временные файлы, включая политики хранения на диске.

...