在Windows 10中,“java”未被识别为内部或外部命令、可执行程序或批处理文件。

4
我知道这是一个在网上比较常见的问题,但即使我设置了JAVA_HOME环境变量并将%JAVA_HOME%\bin\添加到Path变量中,我仍然遇到了这个错误。
我正在尝试使用需要Java的PDF Presenter应用程序。因此,我下载了Oracle JDK(jdk-14.0.1_windows-x64_bin.exe)并安装了它,然后配置了上述两个变量。
如果我输入%JAVA_HOME%\bin\java.exe --version,它可以正常工作。 但是,如果我输入java.exejava,我就会得到标题中的错误。我该如何解决这个问题?
这里是echo %PATH%的输出结果:
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Git\cmd;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;%JAVA_HOME%\bin\;C:\Users\Nagabhushan\AppData\Local\Microsoft\WindowsApps;

4
请分享您的PATH变量的完整内容。在对PATH进行任何更改后,请确保重新启动CMD。 - Zabuzard
“set path”的输出是什么? - NomadMaker
@Zabuzard,这是echo %PATH%的输出 -> C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Git\cmd;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;%JAVA_HOME%\bin\;C:\Users\Nagabhushan\AppData\Local\Microsoft\WindowsApps; - Nagabhushan S N
重新检查您所做的工作,通过此链接进行查看:- https://javatutorial.net/set-java-home-windows-10 - VR7
我完成了所有的工作,甚至重新启动了终端,但它仍然无法正常工作。原因是高级设置对话框仍然打开,所以更改没有生效。但是一旦我按下“确定”并关闭对话框,然后重新启动它,一切都正常工作了。 - VR7
显示剩余4条评论
1个回答

7

如果您在Windows的GUI中使用环境变量,请勿使用%JAVA_HOME%,而应使用实际路径。因为GUI不会解释变量。

因此,当您输入命令时,在路径中直接使用%JAVA_HOME%,它将不会被解释。


这个可行!非常感谢。那么,如果我想在不同的Java版本之间切换,我需要同时编辑PATHJAVA_HOME对吗?有没有可能避免这种情况的方法? - Nagabhushan S N
1
没有简单的解决方案,但一个好的选择是 jenv,它类似于 NVM 但适用于 Java。 - Ruokki
@NagabhushanSN 当你设置JAVA_HOME的值时,你是输入了%JAVA_HOME%还是JAVA_HOME作为变量名?你必须使用后者,然后在Path中,你应该能够使用%JAVA_HOME%\bin - Slaw
@Slaw 我只将其设置为 JAVA_HOME,否则 %JAVA_HOME%\bin\java.exe --version 将无法正常工作。是的,我知道重复使用 JAVA_HOME 是好的,但奇怪的是它没有起作用。了解为什么会发生这种有选择性的问题将是很有趣的。 - Nagabhushan S N
在Windows 10上,%JAVA_HOME%在GUI中对我有效:https://i.imgur.com/Z9EoqCg.png。在添加环境变量之前,当我在控制台输入“java -version”时,会出现“java不是内部或外部命令”的错误。 - KulaGGin
显示剩余2条评论

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