Un nouveau téléchargement de Tomcat 7 (j'utilise 7.0.19) contient un répertoire 'temp' contenant le fichier unique, 'safeToDelete.tmp'. À quoi sert ce répertoire pour Tomcat ou comment doit-il être utilisé par les utilisateurs (développeurs) de Tomcat?
Lorsque vous démarrez Tomcat, en utilisant startup.bat
(Windows) ou startup.sh
, il appelle catalina.bat
/catalina.sh
respectivement.
Catalina a alors besoin d'un répertoire temporaire à définir. Il le fait en définissant le CATALINA_TMPDIR
variable à Tomcat_HOME\temp
dossier et l'assigne à Java variable d'environnement système en tant que Java.io.tmpdir
.
Ceci est copié de 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.
Où CATALINA_BASE
est Tomcat_HOME
(si exécuté à l'aide du script startup
).
Nous continuons:
if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
set "CATALINA_TMPDIR=%CATALINA_BASE%\temp"
Finalement:
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
Finalement, le Java.io.tmpdir
pointe vers le CATALINA_TMPDIR
où la JVM écrit des fichiers temporaires, y compris des politiques de stockage sur disque.