Reputation: 197
I have jdk6 and jdk7 installed on my Windows 8 machine. The JAVA_HOME environment variable originally pointed to C:\Program Files\Java\jre7.
I am now trying to run a program under Java 1.6. I changed JAVA_HOME to C:\Program Files\Java\jre6 but when I type java -version at the command prompt I get "java version "1.7.0_25". I have even deleted all environment variables related to Java and modified the path variable to not include any reference to Java. However, when I type java -version (which should fail) I get "java version "1.7.0_25".
I have also tried changing JAVA_HOME to "C:\Program Files\Java\jdk1.6.0_45" and java -versio still gives me "java version "1.7.0_25".
Does anyone know why I am unable to change the Java version to 1.6?
My current path is:
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
Upvotes: 0
Views: 1543
Reputation: 4141
Put JAVA_HOME
variable before %SystemRoot%\system32
one. Windows installer adds java.exe file to Windows\system32 directory. And since it comes before JAVA_HOME, the executable from system32 is used.
(don't forget to restart console before checking again for java version)
Edit: last java adds to PATH folder C:\ProgramData\Oracle\Java\javapath
. in my case it was on first position in PATH. That folder contains symlinks to java.exe javaw.exe and javaws.exe. Now you have two options.
C:\ProgramData\Oracle\Java\javapath
and add JAVA_HOME
(or point directly do java bin directoryC:\ProgramData\Oracle\Java\javapath
to those pointing to right executables.Upvotes: 2
Reputation: 10698
In order to have the right JVM called from the terminal when you call java
directly, you'll have to put %JAVA_HOME%/bin
in your path before any other directory that may contain a java.exe
implementation.
If you have installed a JVM using the Java installer, you may have a java.exe
in your %SystemRoot%\system32
. This one is just a dummy implementation that look at the registry and use the last JVM installed.
If you have a java.exe
in your %SystemRoot%\system32
and it's not using the right JVM, you'll either have to correctly uninstall all JVM or to put %JAVA_HOME%\bin
before %SystemRoot%\system32
in your path.
Upvotes: 1