1 コンテキスト
JAVA_HOMEを設定するようになったのは、サーバサイドJavaが広まるのにあわせて、かな。 サーバサイドJavaの学習では、必ずといっていいほど、Tomcatサーバが使われる。 で、このTomcatが、JDKのホームディレクトリとしてJAVA_HOMEを参照するように作られている、というわけ。
「それなら、JDKのホームはJAVA_HOMEにして、PATHなんかは全部JAVA_HOMEを使って指定するようにしたほうが面倒がないや」 ってことで、多くの入門などで、最初からJAVA_HOMEにJDKのホームディレクトリを指定するように説明するようになった、というわけ。
2 Apache Tomcat
(3. 2) JRE_HOME および JAVA_HOME の設定(必須)
これらの変数は Tomcat を起動する Java Rruntime Environment(JRE) または Java Development Kit(JDK) の場所を特定するのに使用されます。
JRE_HOME は JRE の場所 JAVA_HOME は JDK の場所
JRE_HOME を使用していて、何らかの無効な起動時の追加オプションがあるとき、JAVA_HOME を使用して確定されます。
JRE_HOME および JDK_HOME をいずれも指定しているときは JRE_HOME が使用されます。 これらの変数の指定に推奨する場所は以下の "setenv" スクリプトの通りです。
(3.2) Set JRE_HOME or JAVA_HOME (required)
These variables are used to specify location of a Java Runtime Environment or of a Java Development Kit that is used to start Tomcat.
The JRE_HOME variable is used to specify location of a JRE. The JAVA_HOME variable is used to specify location of a JDK.
Using JAVA_HOME provides access to certain additional startup options that are not allowed when JRE_HOME is used.
If both JRE_HOME and JAVA_HOME are specified, JRE_HOME is used. The recommended place to specify these variables is a "setenv" script. See below.
On Windows, %CATALINA_BASE%\bin\setenv.bat:
set "JRE_HOME=%ProgramFiles%\Java\jre7" exit /b 0