Showing posts with label oracle. Show all posts
Showing posts with label oracle. Show all posts

Monday, September 27, 2021

Install multiple versions of JDK and switch between them via CLI on MAC OSX:

(Updated to include newer JDK versions)

1.11: https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html
1.17: https://www.oracle.com/java/technologies/downloads/#JDK17


2) Add the following to the ~/.bashrc or ~/.zshrc
#Set JAVA_HOME to latest version of JAVA_HOME (recommended)
export JAVA_HOME=$(/usr/libexec/java_home)
 

#Set alias options to dynamically change JAVA_HOME to particular JDK
alias jdk6=
' export JAVA_HOME=$(/usr/libexec/java_home -v 1.6.0) '
alias jdk7=' export JAVA_HOME=$(/usr/libexec/java_home -v 1.7.0) '
alias jdk8=' export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0) '
alias jdk11=' export JAVA_HOME=$(/usr/libexec/java_home -v 11) '
alias jdk17=' export JAVA_HOME=$(/usr/libexec/java_home -v 17) '



3) To switch between the versions of JDK, run the command jdkXX, for example:

#Default version as listed above will always set the JAVA_HOME to the latest version as determined by java_home:
$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
 

$ jdk6
$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468-11M4833)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode)
 

$ jdk7
$ java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)

jdk11
$ java -version
java version "11.0.11" 2021-04-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)

$ jdk17
$ java -version
java version "17" 2021-09-14 LTS
Java(TM) SE Runtime Environment (build 17+35-LTS-2724)
Java HotSpot(TM) 64-Bit Server VM (build 17+35-LTS-2724, mixed mode, sharing)