Archive for September, 2015

Running Multiple Java Version On OSX

September 6, 2015 Leave a comment

Currently i have several projects using different version java, the oldest one using java 1.6, and the new one using 1.8 which is need lambda expression supported by latest version of java.

and i have only one machine that running OSX yosemite, sometimes i need run java 1.6 and sometimes need java 1.8 as my default running java version.

Below is quick guide how to install multiple java and switch between them easily and fast.

  1. Install Java , from the oldest version to the latest one. 1.6, 1.7 then 1.8. Do not from the latest one or you will get problem when installing the old one.
  2. Check the default java, using command : java -version Screen Shot 2015-09-06 at 7.38.49 PM
  3. Create simple script as below :
    1. first create script to set JAVA_HOME variable with version using shell input
      • export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    2. Second create Symbolic Link from JAVA_HOME to CurrentJDK [for elcapiten, no need this step]
      • sudo ln -nsf ${JAVA_HOME%/*} /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
      • option s , for create symbolic, option f force symbolic link with unlink first if symbolic link already exist, option n , prevent symbolic link if source or target is symbolic link
    3. Put the script into /etc/profile, named for example usejava
      • usejava() { export JAVA_HOME=$(/usr/libexec/java_home -v $1)

        #For Elcapiten, please comment out this line below#

        sudo ln -nsf ${JAVA_HOME%/*} /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK}usejava 1.6

  4. For change default java, just use command :
    1. usejava 1.6 –> switch 1.6 as default version
    2. usejave 1.7 –> switch 1.7 as default version
    3. usejava 1.8 –> swicth 1.8 as default version


Bogor, September 6th 2015


A. Ahmad Kusumah