I had installed Java 16 before and was using it. Now I have a need to use Java 8. After installing Java 8 I realized that the JAVA_HOME variable has to be set. I use macOS Big Sur version 11.5.2 and my terminal uses zsh shell. I followed a video on youtube that told me to do the following steps:
export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home'
export PATH = $JAVA_HOME/bin:$PATH
and save the filebut when I run the step 4 on my terminal I seem to get the following message:
/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home not found
But I can guarantee that the directory structure is present. Here is the output when I run ls /Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home output
Use the /usr/libexec/java_home
command. On my machine I have:
% /usr/libexec/java_home -V
Matching Java Virtual Machines (10):
16.0.1 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 16" /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
16.0.1 (x86_64) "GraalVM Community" - "GraalVM CE 21.1.0" /Library/Java/JavaVirtualMachines/graalvm-ce-java16-21.1.0/Contents/Home
15.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 15" /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home
14.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 14" /Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home
13.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 13" /Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home
12.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 12" /Library/Java/JavaVirtualMachines/adoptopenjdk-12.jdk/Contents/Home
11.0.12 (x86_64) "GraalVM Community" - "GraalVM CE 21.2.0" /Library/Java/JavaVirtualMachines/graalvm-ce-java11-21.2.0/Contents/Home
11.0.11 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
1.8.0_292 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
1.8.0_282+07 (x86_64) "GraalVM Community" - "GraalVM CE 21.0.0.2" /Library/Java/JavaVirtualMachines/graalvm-ce-java8-21.0.0.2/Contents/Home
/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
Use the following to get Java 1.8 home:
% /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
If all the above works for your set-up, add the following to your
~/.zshrc
:
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)