Tomcatを起動するスクリプトがあり、次のようになります。
rem set JRE_HOME=C:\Program Files\Java\jdk1.7.0_03
set JRE_HOME=C:\Program Files\Java\jre7\
set CATALINA_HOME=D:\test\Server\Apache-Tomcat-6.0.18
"%CATALINA_HOME%\bin\catalina.bat" jpda start
JRE_HOMEをjreフォルダーまたはJDKフォルダーのいずれかに設定できますが、Tomcatは動作しますが、JRE_HOMEを削除して代わりにJava_HOMEを使用すると、TomcatはJDKフォルダーへのパスを指定した場合にのみ動作します。
では、JREとJava homeの違いは何ですか、なぜTomcatはこのように動作しますか?
Tomcatは、完全なJDKで実行している場合、起動時に追加のデバッグオプションを有効にします。これらのオプションにはJDKが必要であるため、Tomcatは、これらのオプションが使用されても失敗しないことを確認する必要があると主張する場合、実際に使用していることを確認します。
これらのオプションが使用されることはめったにありません。私はTomcatを使って10年間働いたときに一度使ったと思います。
JRE_HOMEを使用する場合、TomcatはJDK固有のオプションを有効にしないため、JREではなく完全なJDKで実行しているかどうかはチェックされません。