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

时间:2015-10-25 11:02:23

标签: java command-prompt

[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;

3 个答案:

答案 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"

注意:将上面的位置放在"路径"系统环境变量。 希望这会有所帮助。