Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set or change the default Java (JDK) version on macOS?

Tags:

java

macos

How can you change the default version of Java on a mac?

like image 369
Venkat Avatar asked Feb 23 '14 05:02

Venkat


1 Answers

First run /usr/libexec/java_home -V which will output something like the following:

Matching Java Virtual Machines (3): 1.8.0_05, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home 1.6.0_65-b14-462, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home  /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home 

Pick the version you want to be the default (1.6.0_65-b14-462 for arguments sake) then:

export JAVA_HOME=`/usr/libexec/java_home -v 1.6.0_65-b14-462` 

or you can specify just the major version, like:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8` 

Now when you run java -version you will see:

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

Add the export JAVA_HOME… line to your shell’s init file.

For Bash (as stated by antonyh):

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) 

For Fish (as stated by ormurin)

set -x JAVA_HOME (/usr/libexec/java_home -d64 -v1.8) 

Updating the .zshrc file should work:

nano ~/.zshrc  export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0) 

Press CTRL+X to exit the editor Press Y to save your changes

source ~/.zshrc echo $JAVA_HOME java -version 
like image 91
markhellewell Avatar answered Oct 02 '22 15:10

markhellewell