My name is Veera. I'm a full stack web developer. I have founded and currently working on my next product. Veera is a DZone MVB and is not an employee of DZone and has posted 33 posts at DZone. You can read more from them at their website. View Full User Profile

Using Multiple Versions of JDK and Eclipse in Single Machine

  • submit to reddit

In my office laptop, I have installed two versions of JDK. For the office work, I need JDK6 because the internal framework needs it. I’m using JDK7 for my personal projects and exploring the latest and greatest in Java. I have two versions of Eclipse too (one for office work and one is the latest Juno).

But, the tricky thing is to manage these multiple JDKs and IDEs. It’s a piece of cake if I just use Eclipse for compiling my code, because the IDE allows me to configure multiple versions of Java runtime. Unfortunately (or fortunately), I have to use the command line/shell to build my code. So, it is important that I have the right version of JDK present in the PATH and other related environment variables (such as JAVA_HOME).

Manually modifying the environment variables every time I want to switch between JDKs, isn’t a happy task. But, thanks to Windows Powershell, I’m able to write a scriplet that can do the heavy-lifting for me.

Basically, what I want to achieve is to set PATH variable to add Java bin folder and set the JAVA_HOME environment variable and then launch the correct Eclipse IDE. And, I want to do this with a single command. Let’s do it.

  1. Open a Windows Powershell.
  2. I prefer writing custom Windows scripts in my profile file so that it is available to run when ever I open the shell. To edit the  profile, run this command:  notepad.exe $profile - the $profile is a special variable that points to your profile file.
  3. Write the below script in the profile file and save it.
    function myIDE{
    $env:Path += "C:\vraa\java\jdk7\bin;"
    $env:JAVA_HOME = "C:\vraa\java\jdk7"
    set-location C:\vraa\workspace\myproject
    function officeIDE{
    $env:Path += "C:\vraa\java\jdk6\bin;"
    $env:JAVA_HOME = "C:\vraa\java\jdk6"
  4. Close and restart the Powershell.
  5. Now you can issue the command myIDE which will set the proper PATH and environment variables and then launch the eclipse IDE.

As you can see, there are two functions with different configurations. Just call the function name that you want to launch from the Powershell command line (myIDE or officeIDE).

Published at DZone with permission of Veera Sundar, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)