【问题标题】:Should I add both JAVA_HOME and JRE_HOME in environmental variable, PATH?我应该在环境变量 PATH 中同时添加 JAVA_HOME 和 JRE_HOME 吗?
【发布时间】:2015-03-15 19:18:03
【问题描述】:

我在设置 Tomcat 和 Java 环境路径时遇到了这个错误:

JAVA_HOME 和 JRE_HOME 环境变量都不是 定义。至少需要 2 个环境变量之一 运行这个程序。

在用户变量中:我创建了 JAVA_HOME 变量并将 C:\Program Files\Java\jdk1.8.0_25 添加到其路径.然后对系统变量 PATH 进行了编辑,在开头添加了 C:\Program Files\Java\jdk1.8.0_25;它的路径。 我还在用户变量中创建了 JRE_HOME 并将 C:\Program Files\Java\jre1.8.0_25 添加到其路径中。

是否有必要创建 JRE_HOME 并且我是否也应该将 JRE 路径添加到系统变量中?

【问题讨论】:

  • 不,不需要添加 JRE_HOME。可能重复:stackoverflow.com/questions/11120279/…
  • 旁注:您通常将“%JAVA_HOME%/bin”添加到路径中。在您的情况下,没有理由将 java 路径添加到“path”var。
  • @Sashwat,非常感谢。这个链接真的很有帮助。
  • @Jayan,我之前实际上想使用您的旁注,但没有弄清楚并且不太确定。我会尝试修改它以使用它。谢谢。
  • 这里有类似的问题 - stackoverflow.com/questions/551668/…

标签: java tomcat8


【解决方案1】:

此答案通过屏幕截图和示例说明了所有步骤

最好使用 8.3 目录格式。事实上,从来没有空格。

  1. JAVA_HOME - 您的 JDK 文件夹
    C:\Program Files\Java\jdk1.6.0_45 == C:\PROGRA~1\Java\JDK16~1.0_4
    @987654332 @ == C:\PROGRA~1\Java\JDK17~1.0_7
    C:\Program Files\Java\jdk1.8.0_25 == C:\PROGRA~1\Java\JDK18~1.0_2
    C:\Program Files\Java\jdk1.9.0 == C:\PROGRA~1\Java\JDK19~1.0

  2. JRE_HOME
    C:\Program Files\Java\jre6 == C:\PROGRA~1\Java\jre6
    C:\Program Files\Java\jre7 == C:\PROGRA~1\Java\jre7
    C:\Program Files\Java\jre1.8.0_25 == C:\PROGRA~1\Java\JRE18~1.0_2C:\Program Files\Java\jre1.9.0 == C:\PROGRA~1\Java\JRE19~1.0

  3. 除了PATH - 最佳实践!

    • 使用 WINDOWS+R
    • 输入C:\Windows\system32\systempropertiesadvanced.exe
    • ;C:\ProgramData\Oracle\Java\javapath; 添加到PATH 的末尾
      (系统变量不是用户变量)。

    • 单击“确定”,浏览至C:\ProgramData\Oracle\Java\ 并将javapath 文件夹(从C:\ProgramData\Oracle\Java\javapath\)重命名为javapath_old

    • 创建名为javapath 的新文件夹。
    • 启动 CMD 并浏览到(现在为空)C:\ProgramData\Oracle\Java\javapath\
    • 运行以创建符号链接:

      1. ln -s "C:\Program Files\Java\jre7\bin\java.exe" java.exe
      2. ln -s "C:\Program Files\Java\jre7\bin\javaw.exe" javaw.exe
      3. ln -s "C:\Program Files\Java\jre7\bin\javaws.exe" javaws.exe

    • 已完成 PATH*_HOME,现在让我们继续使用 Windows 注册表。
  4. 打开您喜欢的注册表编辑器(Registry Workshop 是最好的),浏览HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit 注意所有安装的版本都显示为键,双击CurrentVersion(REG_SZ 值)并将其数据修改为您的首选SDK 版本,我的是 1.7 (For Android Studio)

  5. HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment 执行相同操作(使用CurrentVersion

  6. 关闭基于java的程序,如eclipse或IntelliJ

    • 打开任务管理器-进程选项卡,
    • 寻找explorer.execmd.exejava(*something*).exe程序,
    • 右键单击 eache 并单击 结束任务(不是“结束进程树”!)
    • 点击FileNew Task➩输入explorer.exe

您在上面所做的更改已成功应用
无需重新启动,无需再次注销/重新登录。

【讨论】:

  • 很好的解释,给出了有趣的快捷方式(WINDOWS+R, C:\Windows\system32\systempropertiesadvanced.exe...)
  • 在我的 Win7 x64 上,我不需要触摸注册表。但我不得不从 PATH 变量中删除 C:\ProgramData\Oracle\Java\javapath\ 并将符号链接剪切/粘贴到其他地方。
【解决方案2】:

您确实不需要将JRE_HOME 添加到系统变量中。 Tomcat 寻找JAVA_HOMEJRE_HOME 来启动自己。这是因为 tomcat 需要一些 java 库才能启动。如果提供的是 Jdk 而不是 Jre,Tomcat 将提供额外的调试功能。更多详情here

{JAVA_HOME_DIR}/bin 添加到您的路径将允许从任何地方访问java。

【讨论】:

    【解决方案3】:

    试试这个...

    对于 Java

    在用户变量中,添加PATH值为C:\Program Files\Java\jdk1.8.0_25\bin;

    对于 Tomcat

    在系统变量中,添加JAVA_HOME值为C:\Program Files\Java\jdk1.8.0_25

    现在类路径已设置为您的机器。您可以从机器中的任何位置访问 java。

    完成此操作后,转到 Command Prompt 并转到 ApacheTomcat*x.x 并移动到 bin 文件夹,

    启动服务器

    startup.bat
    

    要检查 Tomcat 运行状态,请转到您的浏览器,然后粘贴 URL,

    http://localhost:8080/

    停止服务器

    shutdown.bat
    

    【讨论】:

    • 我喜欢这个简单的答案。另请参阅answer on another question
    • @JoD。谢谢你的评论。将始终尝试为 SO 提供最佳答案。
    【解决方案4】:

    修改系统变量后,重要的是打开新的控制台窗口

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-14
      • 2018-05-15
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      • 2010-11-23
      相关资源
      最近更新 更多