November 2024
M T W T F S S
 123
45678910
11121314151617
18192021222324
252627282930  

Categories

November 2024
M T W T F S S
 123
45678910
11121314151617
18192021222324
252627282930  

JAVA VERSIONS ON WINDOWS

Slow way

  1. Open your Start Menu
  2. Go to All Programs
  3. Go to Accessories
  4. Right-click Command Prompt
  5. Select Run as administrator
  6. Answer Yes to the following User Account Control question
  1. Go/Make somewhere you want this.
    > c:
    > mkdir \dev\java
    > cd \dev\java
  2. Set up the symlinks
    > mklink /d 1.5 “c:\Program Files\Java\jdk1.5.0_22”
    > mklink /d 1.7 “c:\Program Files\Java\jdk1.7.0”
    > mklink /d 1.6 “c:\Program Files\Java\jdk1.6.0_27”
    > mklink /d active 1.7
  3. Set your JAVA_HOME and PATH environment variables. *
    setx JAVA_HOME “C:\dev\java\active” /m
    setx PATH “%JAVA_HOME%\bin;%PATH%” /m
* The second command assumes you don’t have Java in your PATH already. If you do, you should edit it the usual way instead. Also note that if JAVA_HOME is already set, it will be expanded in the second command.

Now open up a new regular command prompt and run the following.

> java -version
> mvn –version

Both (skip mvn if you don’t have maven installed) should report Java version 1.7.

Swapping

So, let’s say we want to change to java 1.5, we just need to run the following in an elevated command prompt.

> cd \dev\java
> rmdir active && mklink /d active 1.5

If you now repeat the version checks we did in our regular command prompt they should both report version 1.5 instead of 1.7. And we didn’t even have to restart the command prompt.

Shortcut

To prevent us from having to do this manually we could also create a simple bat file. I made one I called swap.bat which I put in the same directory as the symlinks with the following contents.

@echo off
cd \dev\java && rmdir active && mklink /d active %~1

You could then create a short cut to for example c:\dev\java\swap.bat 1.5, set it to run as administrator, and you’d have a two click solution to change the Java version to 1.5. I created one shortcut for each version.

If you have a better way, please leave a comment though. Always on the lookout for things and techniques that can make my developer life simpler

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>