Разница между JAVA_HOME и JRE_HOME

У меня есть script, который запускает 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 ведет себя таким образом?

Ответ 1

Tomcat позволяет запускать некоторые дополнительные параметры отладки, если вы работаете с полным JDK. Эти параметры требуют JDK, так что Tomcat проверяет, что вы на самом деле используете его, если вы утверждаете, что должны убедиться, что эти параметры не сбой при использовании.

Я редко вижу, что эти параметры используются. Я думаю, что я использовал их один раз в течение 10 лет, работая с Tomcat.

Когда вы используете JRE_HOME, Tomcat не включает специальные параметры JDK, поэтому он не проверяет, работает ли вы с полным JDK, а не с JRE.