Узнайте, какой Tomcat использует JDK или JAVA_HOME
В этой статье мы покажем вам, как узнать, какой JRE / JDK или JAVA_HOME используется контейнером Tomcat.
Окружающая обстановка :
-
Debian 7.5
-
Tomcat 7, установленный через apt-get
-
JDK 6 и JDK 7
Note
Чтобы понять, как Tomcat выбирает, какой JDK запускать, обратитесь к сценарию запуска Tomcat -/etc/init.d/tomcat7
. Обычно Tomcat использует JDK, настроенный в среде JAVA_HOME. Если JAVA_HOME не задан, Tomcat найдет случайный JDK из заранее определенного местоположения.
1. Tomcat Manager
Если менеджер Tomcat установлен, вам повезло, никаких действий не требуется, просто обратитесь к странице менеджера, текущая работающая JVM будет отображаться внизу.
Рис.: Страница диспетчера Tomcat
2. Скрипты запуска Tomcat
Найдите скрипт запуска Tomcat, отредактируйте его, чтобы распечатать значение JAVA_HOME. Для Tomcat, установленногоapt-get
, сценарий запуска находится в/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. Попробуйтеtomcat7 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.
Теперь опцияstatus
распечатает, какой JDK используется Tomcat.