TomcatがどのJDKまたはJAVA__HOMEを使用しているかを調べる

Tomcatが使用しているJDKまたはJAVA_HOMEを調べる

この記事では、Tomcatコンテナーで使用されているJRE / JDKまたはJAVA_HOMEを確認する方法を示します。

環境:

  1. Debian 7.5

  2. apt-getを介してインストールされたTomcat 7

  3. JDK 6およびJDK 7

Note
Tomcatが実行するJDKを取得する方法を理解するには、Tomcat起動スクリプト–/etc/init.d/tomcat7を参照してください。 通常、TomcatはJAVA_HOME環境で構成されたJDKを使用します。JAVA_HOMEが設定されていない場合、Tomcatは事前定義された場所からランダムなJDKを見つけます。

1. Tomcatマネージャー

Tomcatマネージャーがインストールされている場合、幸運です。アクションは不要です。マネージャーページを参照するだけで、現在実行中のJVMが下部に表示されます。

tomcat-manager

図:Tomcatマネージャーページ

2. Tomcat起動スクリプト

Tomcat起動スクリプトを見つけて編集し、JAVA_HOME値を出力します。 apt-getによってインストールされたTomcatの場合、起動スクリプトは/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オプションは、Tomcatで使用されているJDKを出力します。