已设置JAVA_HOME,但在命令提示符中找不到JAVA-version

已设置JAVA_HOME,但在命令提示符中找不到JAVA-version,java,command-prompt,Java,Command Prompt,[已编辑] 我已将JAVA_HOME变量设置为“C:\Program Files\JAVA\jdk1.8.0_60” 在命令提示符下运行javac-version后,我得到以下结果: javac 1.7.0_07 C:\Users\User\Desktop>java -version Error: Failed reading value of registry key: Software\JavaSoft\Java Runtime Environment\C Error: co

[已编辑]

我已将JAVA_HOME变量设置为“C:\Program Files\JAVA\jdk1.8.0_60”

在命令提示符下运行javac-version后,我得到以下结果:

javac 1.7.0_07
C:\Users\User\Desktop>java -version
Error: Failed reading value of registry key:
    Software\JavaSoft\Java Runtime Environment\C
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
但是,当我运行java版本时,我得到以下结果:

javac 1.7.0_07
C:\Users\User\Desktop>java -version
Error: Failed reading value of registry key:
    Software\JavaSoft\Java Runtime Environment\C
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
为了澄清,我的C:\Program files\Java中有以下文件

(1) jdk1.5.0_14(该文件不能删除,因为系统正在使用它

(2) jdk1.8.0_60

(3) jre1.5.0_14

(4) jre1.8.0_60

我可以知道如何确保所有jre和jdk都指向1.8版本;以及如何消除上述错误吗

我在回显%PATH%时得到此消息:

C:\ProgramData\Oracle\Java\javapath;C:\Users\User\introcs\java\bin;C:\PROGRAM FI
LES\BROADCOM\BROADCOM 802.11 NETWORK ADAPTER;C:\PROGRAM FILES (X86)\NVIDIA CORPO
RATION\PHYSX\COMMON;C:\PROGRAM FILES (X86)\INTEL\ICLS CLIENT\;C:\PROGRAM FILES\I
NTEL\ICLS CLIENT\;C:\WINDOWS\SYSTEM32;C:\WINDOWS;C:\WINDOWS\SYSTEM32\WBEM;C:\WIN
DOWS\SYSTEM32\WINDOWSPOWERSHELL\V1.0\;C:\PROGRAM FILES\INTEL\INTEL(R) MANAGEMENT
 ENGINE COMPONENTS\DAL;C:\PROGRAM FILES\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONE
NTS\IPT;C:\PROGRAM FILES (X86)\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\DAL;C
:\PROGRAM FILES (X86)\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\IPT;C:\PROGRAM
 FILES (X86)\INTEL\OPENCL SDK\2.0\BIN\X86;C:\PROGRAM FILES (X86)\INTEL\OPENCL SD
K\2.0\BIN\X64;C:\PROGRAM FILES\SONY\VAIO IMPROVEMENT;C:\PROGRAM FILES (X86)\SONY
\VAIO BIOS DATA TRANSFER UTILITY\;C:\PROGRAM FILES (X86)\SONY\VAIO STARTUP SETTI
NG TOOL;;C:\WINDOWS\SYSTEM32;C:\WINDOWS;C:\WINDOWS\SYSTEM32\WBEM;C:\WINDOWS\SYST
EM32\WINDOWSPOWERSHELL\V1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Pro
gram Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files (x86)\Windows Ki
ts\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\To
ols\Binn\;c:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementS
tudio\;c:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;c:\Program Fi
les (x86)\Microsoft SQL Server\110\DTS\Binn\;c:\Program Files\Microsoft SQL Serv
er\110\DTS\Binn\;C:\Program Files (x86)\Skype\Phone\;C:\Users\User\introcs\j3d\b
in;C:\Users\User\introcs\bin;C:\Users\User\introcs\java\bin;

设置bin文件夹“C:\Program Files\Java\jdk1.8.0\U 60\bin”的上述路径 对于jre,您可以设置“C:\Program Files\Java\jre1.8.0\U 60\bin”

注:将上述位置置于“路径”系统环境变量中。
希望这会有所帮助。

当您在cmd promt上编写javac时,它不是从
JAVA\u HOME
JAVA\u HOME
变量通常用于用JAVA编写的程序,以便轻松查找JVM

您正在搜索的是
PATH
。它会扫描路径并绑定可执行文件,这样您就可以在不提供绝对路径的情况下使用它们

当您编写javac时,它将获得由
PATH
给出的javac

所以在您的例子中
C:\ProgramData\Oracle\Java\javapath;C:\Users\User\introcs\Java\bin;

必须指向错误的路径,我建议删除它们并给出所需版本的路径。

还要检查Windows目录(我认为它在Windows/System32中)中的java*.exe并删除它们。它们往往会覆盖手动安装的JVM,从而覆盖添加到JDK或JRE路径中的任何环境设置。

然后,将%JAVA\u HOME%\bin添加到路径中,启动一个新的命令提示符,然后就可以开始了。

发布
echo%PATH%
的o/p似乎,
PATH
环境变量所指向的JAVA安装已损坏。已在我的帖子的编辑版本中进行了回显和发布。你的意思是将其放在系统环境变量中吗iables“Path”?我刚刚将此额外路径添加到变量“Path”中,但错误持续存在我在windows/system32i中找不到任何java.exe我无法删除oracle文件夹,因为该文件夹正在使用mklink/d C:\ProgramData\oracle\java\javapath“C:\Program Files\Java\jdk1.8.XXX\bin\这将在该路径下创建Java目录的链接