Changing current version of Java within Windows

I'm working in a Windows XP environment and have recently installed java 1.6 because it was required by an application.

However I don't want this to be the default version of java to be used. How do I set it so that the command java -version will return 1.5.x

1

7 Answers

Change your PATH variable so that it has the location of the jdk5/bin directory:

  1. Start -> Control Panel -> System -> Advanced
  2. Click on Environment Variables, under System Variables, find PATH, and click on it.
  3. In the Edit windows, modify PATH by adding the location of your jdk5/bin directory to the beginning. If you do not have the item PATH, you may select to add a new variable and add PATH as the name and the location of the directory as the value.
  4. Close the window.
  5. Reopen Command prompt window, and run java -version
4

In the command shell:

set JAVA_HOME=C:\jdk1.6.0u24
set PATH=%JAVA_HOME%\bin;%PATH%

That will temporarily set up the environment in the command shell. Maven, Ant, etc. will pick up on your new version of Java without having to go to the Control Panel repeatedly.

Tools like Eclipse should be able to select which JDK to use in their own configuration tools for use within their environments.

Java 8 creates three shortcuts on \ProgramData\Oracle\Java\javapath that point to the latest Java8 java.exe, javaw.exe and javaws.exe and then puts \ProgramData\Oracle\Java\javapath at the front of the PATH so that no matter what you do to the JAVA_PATH environment variable, you still get the latest Java 8.

You can get around this by

1) renaming \ProgramData\Oracle\Java\javapath to something else (\ProgramData\Oracle\Java\javapath8 for example)

2) creating a new javapath folder under Java and

3) creating the shortcuts that you need.

Just restore the javapath when you are done with the old versions and you get Java 8 back.

2

There are two ways to fix this:

1) Change the PATH (as someone has already mentioned) The important thing with this solution is to set JAVA_HOME before the windows paths. This is because under the windows folder, there is a java.exe that redirects to the last installed jre.

2) Regedit. The key HKEY_LOCAL_MACHINE->SOFTWARE->JAVASOFT->Java Runtime Environment contains the last installed version that the java.exe in the windows folder redirects to. If you change this to a previously installed version, everything should be peachy. (At least, I think this is the right registry key)

The latest version of JRE that you have always takes precedence over any PATH setting. So, to be sure, uninstall the 1.6 JRE if you don't want it to be the main one. You can have any number of JDKs installed in parallel.

Since Java supports a -version command line option, you can use it to select a specific version to run, e.g.:

java -version:1.7 -jar [path to jar file]

will run a jar application in Java 1.7, if it is installed.

For further details, see Oracle's documentation.

1

Create a “setjava.bat” file and save this file with below content and do not forget to change JAVA_PATH for your system. Also, remember to save this file with .bat extension.

echo off
REM IMPORTANT
REM RUN THIS SCRIPT AS ADMINISTRATOR
set JAVA_REQ_VER=%1
IF "%JAVA_REQ_VER%" == "7" ( set JAVA_PATH="C:\Progra~1\Java\jdk1.7.0_79"
) ELSE ( REM At present I only need to assign 8 by default if not 7 set JAVA_PATH="C:\Progra~1\Java\jdk1.8.0_111"
)
setx /M JAVA_HOME "%JAVA_PATH%"

Now you just run this script with administrator privileges.

Example: setjava 8, setjava 7

Check this link for more details

You Might Also Like