[EDITED]
我已将JAVA_HOME变量设置为“C:\ Program Files \ Java \ jdk1.8.0_60 \”
在命令提示符上运行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\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;
答案 0 :(得分:1)
当您在cmd promt上编写javac时,它不会从JAVA_HOME
获取它。 JAVA_HOME
变量通常用于用java编写的程序,以便轻松查找JVM。
您要搜索的是PATH
。它承诺扫描路径并绑定可执行文件,而不是使用绝对路径。
当你编写javac时,它会得到PATH
给出的javac。
所以你的案例C:\ProgramData\Oracle\Java\javapath;C:\Users\User\introcs\java\bin;
必须指导错误的路径,我建议删除它们并提供所需版本的路径。
答案 1 :(得分:1)
同时检查您的Windows目录(我认为它在Windows / System32中)是否为java * .exe并删除它们。它们倾向于覆盖手动安装的JVM,从而覆盖您为JDK或JRE添加到PATH的任何环境设置 之后,将%JAVA_HOME%\ bin添加到PATH中,启动一个新的命令提示符,然后你就可以了。
答案 2 :(得分:0)
将上面的路径设置为bin文件夹" C:\ Program Files \ Java \ jdk1.8.0_60 \ bin" 对于jre,您可以设置" C:\ Program Files \ Java \ jre1.8.0_60 \ bin"
注意:将上面的位置放在"路径"系统环境变量。 希望这会有所帮助。