【问题标题】:Environment Variable Not recognised环境变量无法识别
【发布时间】:2013-12-20 14:59:07
【问题描述】:

我正在设置环境变量,但操作系统仍然无法识别。看看这个你会明白的。

https://www.dropbox.com/s/raqr4wbtoxxz0b8/1.JPG

我尝试使用管理员权限也仍然相同,但是当我进入时

echo %java_home%

echo %jre_home%

正确显示路径。为什么 javac 命令不起作用。

任何帮助将不胜感激。

【问题讨论】:

    标签: java operating-system java-7


    【解决方案1】:

    您的路径中没有javac。设置JAVA_HOME 和/或JRE_HOME 环境变量(在大多数情况下不再需要)对命令shell 用来查找可执行文件的PATH 没有任何作用。

    将相关的 JDK bin 目录放在你的 PATH 环境变量中 - 除非你真的需要 JRE_HOMEJAVA_HOME 出于某种原因,我会摆脱它们.如果您确实需要它们,请去掉“bin”部分 - 它应该只是 JRE 根目录,例如

    c:\Program Files\Java\jdk1.7.0_45
    

    【讨论】:

    • 我正在运行 Tomcat 服务器,但是当我启动 Tomcat 时,它显示错误:未正确定义 JRE_HOME 环境变量l 运行此程序需要此环境变量。
    • @Jax-L:Tomcat 可能需要它——但您在问题的任何地方都没有提到 Tomcat。在我的回答中,这属于“出于某种原因”。无论如何,环境变量的值是不合适的 - 我已经编辑了我的答案以表明这一点。
    • 非常感谢!非常感谢您的帮助! :) 但我不明白为什么 %PATH% 是为 javac 定义的。我的意思是javac而不是'JAVA_HOME'如何识别'path'变量名。它给出了相同的路径?你可以发布任何解释这个的链接吗?
    • @Jax-L:路径是首先找到javac 可执行文件的方式。它与 Java 没有任何关系——它只是命令 shell 的一部分。如果您在命令 shell 中显式编写了 javac 的完整路径,您就不会看到这个问题(但这会很痛苦)。
    【解决方案2】:

    你的路径JAVA_HOME应该是,例如

    C:\Program Files\Java\jdk.1.7.0_45
    

    你的 Path 变量应该是

    ...;%JAVA_HOME%\bin
    

    javac 位于 bin 文件夹中,该文件夹应位于您的路径中。

    【讨论】:

      【解决方案3】:

      这与 Java 环境变量无关。

      当您键入 javac 或任何其他命令时,Windows 将搜索 %PATH% 环境变量中的文件夹以查找具有该名称的 EXE 文件。

      你需要将你的JDK目录添加到%PATH%

      您还需要重新启动 cmd 以获取更改。

      【讨论】:

      • 谢谢。但是为什么 Windows 确实为 javac 命令找到 PATH 变量?
      • @Jax-L:因为你从来没有把它放在那里。
      【解决方案4】:

      System variables->PATH 中也包含 JRE/JDK 路径

      添加路径变量后,重启cmd

      【讨论】:

        【解决方案5】:

        您必须重新启动 cmd 才能获取新变量。并且javabin文件夹需要包含在path中。当您输入javac 时,它会遍历path 中定义的所有文件夹以找到它。

        【讨论】:

          猜你喜欢
          • 2016-12-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-04
          • 2017-05-17
          • 1970-01-01
          相关资源
          最近更新 更多