无法在Windows 8上更改java版本

时间:2014-03-06 14:31:17

标签: java windows

我的Windows 8机器上安装了jdk6和jdk7。 JAVA_HOME环境变量最初指向C:\ Program Files \ Java \ jre7。

我现在正在尝试在Java 1.6下运行程序。我将JAVA_HOME更改为C:\ Program Files \ Java \ jre6,但是当我在命令提示符下键入java -version时,我得到“java version”1.7.0_25“。我甚至删除了与Java相关的所有环境变量并修改了路径变量不包含对Java的任何引用。但是,当我输入java -version(应该失败)时,我得到“java version”1.7.0_25“。

我也尝试将JAVA_HOME更改为“C:\ Program Files \ Java \ jdk1.6.0_45”,java -versio仍然给我“java版本”1.7.0_25“。

有谁知道为什么我无法将Java版本更改为1.6?

我目前的路径是:

c:\Program Files (x86)\Intel\iCLS Client\;c:\Program Files\Intel\iCLS Client\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\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)\Windows Live\Shared;%JAVA_HOME%\bin;%M2_HOME%\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;%OPEN_SSL%\bin

2 个答案:

答案 0 :(得分:2)

JAVA_HOME变量放在%SystemRoot%\system32之前。 Windows安装程序将java.exe文件添加到Windows \ system32目录。因为它来自JAVA_HOME,所以使用了system32的可执行文件。

(在再次检查java版本之前不要忘记重启控制台)

编辑:上一次java添加到PATH文件夹C:\ProgramData\Oracle\Java\javapath。在我的情况下,它在PATH的第一个位置。该文件夹包含java.exe javaw.exe和javaws.exe的符号链接。现在你有两个选择。

  • 您可以删除C:\ProgramData\Oracle\Java\javapath并添加JAVA_HOME(或直接指向java bin目录
  • 您可以将C:\ProgramData\Oracle\Java\javapath中的符号链接更改为指向正确可执行文件的符号链接。

答案 1 :(得分:1)

为了在您直接调用java时从终端调用正确的JVM,您必须在任何其他可能包含{{1}的目录之前将%JAVA_HOME%/bin放在您的路径中实施。

如果您使用Java安装程序安装了JVM,则java.exe中可能会有java.exe。这个只是一个虚拟实现,它查看注册表并使用最后安装的JVM。

如果您的%SystemRoot%\system32中有java.exe并且它没有使用正确的JVM,则您必须正确卸载所有JVM或将%SystemRoot%\system32放在%JAVA_HOME%\bin之前在你的道路上。