"Javac"在Windows 10上无法正常工作。

26
问题在于我升级到了Windows 10,现在我正在安装我的编程工具,当我安装了Java的JDK 7后,当我尝试在cmd中使用命令:"javac"时,结果显示:"javac"不是内部或外部命令... 但是我已经用正确的jdk路径编辑了PATH,因为当我使用“java”时,它可以正常工作。 现在,我在控制台中尝试使用此命令:PATH=%PATH%;"C:\Program Files\Java\jdk1.7.0_79\bin"。当我执行命令"javac"时,它可以工作,但是现在,当我打开其他控制台时,它无法工作,或者当我重新启动控制台时,这个命令无法识别。 问题可能出在哪里?

2
你需要将bin目录添加到你的PATH中。这个步骤和在Windows 7下是一样的。 - Thorbjørn Ravn Andersen
尝试 SET PATH="C:\Program Files\Java\jdk1.7.0_79\bin";%PATH% - seenukarthi
@ThorbjørnRavnAndersen,实际上,我不知道问题出在哪里,我一直在调整路径变量,然后它就可以工作了。我想我可能需要在路径末尾加上一个“;”,但我不确定。无论如何,感谢您的时间和帮助。问候。 - Sadôk
21个回答

26

Java 是 JRE 的一部分,而不是 JDK。

您需要将 JDK 的 bin 目录添加到系统 PATH 中,在

"控制面板" | 系统 | 高级 | "环境变量"


是的,我知道,但问题不在于“java”命令,问题在于当我尝试使用“javac”时。 - Sadôk
5
“Java”可以正常运行只证明JRE已经被添加到了环境变量中,但这并不能证明JDK也被添加到了环境变量中。据我所知,默认情况下,JDK安装程序不会自动将其添加到PATH中,您需要手动添加。” - Harry Johnston
@Leo:请看我的第二段。 - SLaks
实际上,我不知道问题出在哪里,我一直在尝试更改路径变量,终于成功了。我想可能是需要在路径结尾处加一个分号 ";",但我也不能确定。感谢你的时间和帮助。祝好。 - Sadôk

16

以下是我在 Windows 10 上配置系统变量的步骤:

输入图像描述


10

我对Java完全是新手,花了好几个小时才解决了PATH和CLASSPATH的问题。有一位人士说要在修改环境变量后重新启动命令提示符;这对我很有帮助。在测试不同的配置时,请确保在测试之前重新启动命令提示符。似乎至少有两种不同的设置方法。我选择了以下设置:

1)在系统变量中添加

JAVA_HOME = c:\program files (x86)\java\jdk1.8.0_121

2)在系统变量中,将以下内容添加到现有路径...

%JAVA_HOME%\bin

就这样。不需要任何引号。没有双斜杠或其他任何东西。我认为如果我删除java_home变量,只需在PATH变量中列出bin的明确路径,也会起作用,但现在它终于可以工作了,我就不再碰它了。


由于某些原因,在Windows 10中,这无法正常工作。请将完整路径放入“PATH”变量中,而不是使用“%JAVA_HOME%”。请查看此答案:https://dev59.com/1Lvoa4cB1Zd3GeqP_dd9#62590863 - Nagabhushan S N

9

将 C:\Program Files\Java\jdk1.8.0_73\bin 添加到系统变量后,关闭当前命令提示符并打开另一个。这样就可以正常使用了。


1
+1 - 关闭并重新打开命令行窗口解决了我的问题 :) (在设置环境变量后,Javac未被识别) - Michael Harley

6
也许有点晚了,但我也遇到了同样的问题。 点击Java路径旁边的“上移”按钮,将其移到顶部。 这个方法解决了我的问题。

1
可能有其他解决方案,但在我的情况下,路径末尾需要一个分号 :) - Sadôk
这对我在JDK 1.8.0_101上的Windows 10新安装中有效。我路径中唯一的其他内容是npm和Visual Studio Code。 - Vishaal Kalwani

3
只需将"C:\Program Files\Java\jdk1.7.0_80\bin"添加为环境变量路径,无需在该路径中添加java.exe和javac.exe。这样就可以正常运行了。

2

我在环境变量中添加了以下路径:

;%JAVA_HOME%/bin 而不是 %JAVA_HOME%\bin

在我的情况下,这解决了问题。


2
我在Windows 10上遇到了同样的问题 - java -version命令可以正常工作,但javac -version不能。 我做了三件事:
(1)我下载并安装了最新的jdk(而不是jre)。然后,我将jdk/bin路径添加到环境变量中。在我的情况下,它是C:\Program Files\Java\jdk-10\bin。对于Windows 10,我不需要添加;
(2)将此路径移到所有其他路径的顶部。
(3)删除可能存在的任何其他Java路径。
再次测试java -versionjavac -version命令。 Voila!

1

由于某种原因,在Windows 10上,我将路径文件夹加上引号后就可以了。不是C:\Program Files\Java\jdk 1.8.0_111\bin,而是"C:\Program Files\Java\jdk 1.8.0_111\bin"。


1
现在我终于明白了!确保路径前后没有空格,并在两侧加上分号而不带空格。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接