J'ai téléchargé et extrait le Apache-Tomcat-7.0 . Conformément aux instructions du fichier RUNNING.txt (% CATALINA_BASE%/RUNNING.txt), vous devez définir JRE_HOME dans le fichier "setenv.sh".
Où se trouve ce fichier? La documentation indique que ce sera dans le répertoire CATALINA_HOME/bin. Cependant ce fichier n'y est pas présent.
La documentation ne mentionne-t-elle l'absence de fichier setenev.(sh|bat)
:
(3.4) Using the "setenv" script (optional, recommended)
Apart from CATALINA_HOME and CATALINA_BASE, all environment variables can
be specified in the "setenv" script. The script is placed either into
CATALINA_BASE/bin or into CATALINA_HOME/bin directory and is named
setenv.bat (on Windows) or setenv.sh (on *nix). The file has to be
readable.
By default the setenv script file is absent. If the script file is present
both in CATALINA_BASE and in CATALINA_HOME, the one in CATALINA_BASE is
preferred
For example, to configure the JRE_HOME and CATALINA_PID variables you can
create the following script file:
On Windows, %CATALINA_BASE%\bin\setenv.bat:
set "JRE_HOME=%ProgramFiles%\Java\jre6"
exit /b 0
On *nix, $CATALINA_BASE/bin/setenv.sh:
JRE_HOME=/usr/Java/latest
CATALINA_PID="$CATALINA_BASE/Tomcat.pid"
Créez-en un vous-même; cela ne fait pas partie de la distribution. Ce n'est pas si dur. Pour votre cas, ajoutez simplement
JRE_HOME=/path/to/your/Java/installation
dans le fichier et le rendre exécutable (chmod 755 setenv.sh
).
Vous pouvez également ajouter d'autres options (par exemple, -Xmx
) si nécessaire.
Si vous ne trouvez pas "setenv.sh" ou "setenv.bat" dans le dossier bin de Tomcat, suivez les instructions suivantes:
setenv.sh
pour linux user ou setenv.bat
pour windows userRéglage de JRE_HOME
Pour linux user
JRE_HOME=/path/to/jre/jre6
Pour Windows utilisateur
set Java_HOME=C:\Path\to\jre\jdk6
Définition de Java_OPTS
Pour linux user
Java_OPTS="$Java_OPTS -Xms512m -Xmx512m -DFOOBAR_CONFIGURATION_FILE=file:///C:/foobar.properties"
Pour windows user
set "Java_OPTS=%Java_OPTS% -Xms512m -Xmx512m -DFOOBAR_CONFIGURATION_FILE=file:///D:\foobar.properties"
Redémarrez Tomcat après avoir défini les variables .
La réponse de l'utilisateur Mindas est tout à fait correcte: il est nécessaire de créer le fichier setenv.sh
dans le répertoire CATALINA_HOME
ou CATALINA_BASE
, comme l'indique le commentaire dans le fichier catalina.sh
.
Cependant, il existe un problème "poulet et oeuf" dans lequel Tomcat doit deviner l'emplacement du répertoire CATALINA_HOME/bin/
dans le cas où la variable d'environnement CATALINA_HOME
n'est pas définie.
J'ai rencontré cette situation sur un serveur Ubuntu où, heureusement, Tomcat devine correctement le répertoire CATALINA_HOME/bin/
. Pour un environnement mono-utilisateur où la personnalisation de Tomcat pour différents utilisateurs n'est pas nécessaire, il semble que définir la variable d'environnement Java_HOME
ou JRE_HOME
dans le script catalina.sh
constituerait une solution au problème "poule et œuf".