JAVA_HOME 和 JRE_HOME 的区别

Posted

技术标签:

【中文标题】JAVA_HOME 和 JRE_HOME 的区别【英文标题】:Difference between JAVA_HOME and JRE_HOME 【发布时间】:2012-06-22 15:10:31 【问题描述】:

我有一个启动 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】:

如果您使用完整的 JDK 运行,Tomcat 在启动时会启用一些额外的调试选项。这些选项需要 JDK,因此如果您声称要确保这些选项在使用时不会失败,Tomcat 会检查您是否实际使用了 JDK。

我很少看到使用这些选项。我想我在使用 Tomcat 的 10 年中使用过它们一次。

当您使用 JRE_HOME 时,Tomcat 不会启用 JDK 特定选项,因此它不会检查您是否使用完整的 JDK 而不是 JRE。

【讨论】:

这些额外的调试选项是什么? 在jdb下运行

以上是关于JAVA_HOME 和 JRE_HOME 的区别的主要内容,如果未能解决你的问题,请参考以下文章

java

Neither the JAVA_HOME nor the JRE_HOME错误解决

Tomcat Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

解决Linux下启动Tomcat遇到Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

Tomcat解决配置了环境变量还是会Neither the JAVA_HOME nor the JRE_HOME environment...的问题和启动后乱码问题

启动tomcat提示Neither the JAVA_HOME nor the JRE_HOME environment variable is defined