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