Over a million developers have joined DZone.

Using Multiple Versions of JDK and Eclipse in Single Machine

· Java Zone

Discover how AppDynamics steps in to upgrade your performance game and prevent your enterprise from these top 10 Java performance problems, brought to you in partnership with AppDynamics.

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).

The Java Zone is brought to you in partnership with AppDynamics. AppDynamics helps you gain the fundamentals behind application performance, and implement best practices so you can proactively analyze and act on performance problems as they arise, and more specifically with your Java applications. Start a Free Trial.


Published at DZone with permission of Veera Sundar , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}