Java 未识别环境变量

Java 未识别环境变量,java,operating-system,java-7,Java,Operating System,Java 7,我正在设置环境变量,操作系统仍然无法识别。看看这个,你会得到它的 我尝试使用管理员权限,但当我进入 echo %java_home% 或 它正确地显示了路径。为什么javac命令不起作用 任何帮助都将不胜感激。您必须重新启动cmd,才能提取新变量。javabin文件夹需要包含在path中。键入javac时,它会遍历path中定义的所有文件夹以找到它。您的路径中没有javac。设置JAVA_HOME和/或JRE_HOME环境变量(大多数情况下不再需要这些变量)不会对命令shell用于查找可执行

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

我尝试使用管理员权限,但当我进入

echo %java_home%

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


任何帮助都将不胜感激。

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

您的路径中没有
javac
。设置
JAVA_HOME
和/或
JRE_HOME
环境变量(大多数情况下不再需要这些变量)不会对命令shell用于查找可执行文件的
路径产生任何影响

将相关的JDK
bin
目录放在您的
PATH
环境变量中,除非您出于某种原因确实需要
JRE\u HOME
JAVA\u HOME
,否则我会将它们去掉。如果您确实需要它们,请去掉“bin”部分——它应该只是根JRE目录,例如

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

例如,您的路径
JAVA\u HOME
应该是

C:\Program Files\Java\jdk.1.7.0_45
并且您的
路径
变量应该是

...;%JAVA_HOME%\bin

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

与Java环境变量无关

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

您需要将JDK目录添加到
%PATH%


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

系统变量->路径中也包括JRE/JDK路径


添加路径变量后,重新启动cmd

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