JAVA_HOME 已设置,但 java - 在命令提示符中找不到版本
JAVA_HOME has been set, but java - version cannot be found in command prompt
[编辑]
我已将 JAVA_HOME 变量设置为 "C:\Program Files\Java\jdk1.8.0_60\"
在命令提示符 运行ning javac -version 之后,我得到这个:
javac 1.7.0_07
但是当我 运行 java-version 时,我得到这个:
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.0\BIN\X86;C:\PROGRAM FILES (X86)\INTEL\OPENCL SD
K.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.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server0\To
ols\Binn\;c:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementS
tudio\;c:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\;c:\Program Fi
les (x86)\Microsoft SQL Server0\DTS\Binn\;c:\Program Files\Microsoft SQL Serv
er0\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_60\bin"
对于 jre 你可以设置 "C:\Program Files\Java\ jre1.8.0_60\bin"
注意:将以上位置放到"PATH"系统环境变量中。
希望这会有所帮助。
当您在 cmd promt 上写入 javac 时,它不会从 JAVA_HOME
获取它。 JAVA_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 添加到 PATH 中的任何环境设置。
之后,将你的 %JAVA_HOME%\bin 添加到你的 PATH,启动一个新的命令提示符,你就可以开始了。
[编辑]
我已将 JAVA_HOME 变量设置为 "C:\Program Files\Java\jdk1.8.0_60\"
在命令提示符 运行ning javac -version 之后,我得到这个:
javac 1.7.0_07
但是当我 运行 java-version 时,我得到这个:
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.0\BIN\X86;C:\PROGRAM FILES (X86)\INTEL\OPENCL SD
K.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.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server0\To
ols\Binn\;c:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementS
tudio\;c:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\;c:\Program Fi
les (x86)\Microsoft SQL Server0\DTS\Binn\;c:\Program Files\Microsoft SQL Serv
er0\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_60\bin" 对于 jre 你可以设置 "C:\Program Files\Java\ jre1.8.0_60\bin"
注意:将以上位置放到"PATH"系统环境变量中。 希望这会有所帮助。
当您在 cmd promt 上写入 javac 时,它不会从 JAVA_HOME
获取它。 JAVA_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 添加到 PATH 中的任何环境设置。
之后,将你的 %JAVA_HOME%\bin 添加到你的 PATH,启动一个新的命令提示符,你就可以开始了。