Découvrez que Tomcat utilise quel JDK ou JAVA_HOME
Dans cet article, nous allons vous montrer comment savoir quel JRE / JDK ou JAVA_HOME est utilisé par le conteneur Tomcat.
Environnement:
-
Debian 7.5
-
Tomcat 7, installé via apt-get
-
JDK 6 et JDK 7
Note
Pour comprendre comment Tomcat récupère le JDK à exécuter, reportez-vous au script de démarrage Tomcat -/etc/init.d/tomcat7. Normalement, Tomcat utilisera le JDK qui est configuré dans l'environnement JAVA_HOME, si JAVA_HOME n'est pas défini, Tomcat trouvera un JDK aléatoire à partir d'un emplacement prédéfini.
1. Tomcat Manager
Si le gestionnaire Tomcat est installé, vous avez de la chance, aucune action n'est nécessaire, reportez-vous simplement à la page du gestionnaire, la JVM en cours d'exécution sera affichée en bas.

Figure: Page du gestionnaire Tomcat
2. Scripts de démarrage de Tomcat
Recherchez le script de démarrage Tomcat, modifiez-le pour imprimer la valeur JAVA_HOME. Pour Tomcat installé parapt-get, le script de démarrage se trouve dans/etc/init.d/tomcat7.
2.1 Edit sudo vim /etc/init.d/tomcat7, scroll down to the near bottom, find following patterns
/etc/init.d/tomcat7
#...
status)
set +e
start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
--user $TOMCAT7_USER --exec "$JAVA_HOME/bin/java" \
>/dev/null 2>&1
if [ "$?" = "0" ]; then
if [ -f "$CATALINA_PID" ]; then
log_success_msg "$DESC is not running, but pid file exists."
exit 1
else
log_success_msg "$DESC is not running."
exit 3
fi
else
log_success_msg "$DESC is running with pid `cat $CATALINA_PID`"
fi
set -e
;;
2.2 Append a simple text “using java – $JAVA_HOME”.
/etc/init.d/tomcat7
status)
set +e
start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
--user $TOMCAT7_USER --exec "$JAVA_HOME/bin/java" \
>/dev/null 2>&1
if [ "$?" = "0" ]; then
if [ -f "$CATALINA_PID" ]; then
log_success_msg "$DESC is not running, but pid file exists."
exit 1
else
log_success_msg "$DESC is not running."
exit 3
fi
else
# START - UPDATE HERE!!!!!!!!!!!!!!
log_success_msg "$DESC is running with pid `cat $CATALINA_PID`, using java - $JAVA_HOME"
# END - UPDATE HERE!!!!!!!!!!!!!!
fi
set -e
;;
2.3 Save and exit. Essayeztomcat7 status:
$ sudo /etc/init.d/tomcat7 status [ ok ] Tomcat servlet engine is running with pid 10809, using java - /usr/lib/jvm/java-7-openjdk-amd64.
$ sudo service tomcat7 status [ ok ] Tomcat servlet engine is running with pid 10809, using java - /usr/lib/jvm/java-7-openjdk-amd64.
Maintenant, l'optionstatus affichera le JDK utilisé par le Tomcat.