How to set the Java path installed by Homebrew?

15,990

I use the method suggested by Maarten Mulders.

I added the following to my bash profile (the file .bash_profile in my home directory).

alias j9="export JAVA_HOME=`/usr/libexec/java_home -v 9`; java -version"
alias j8="export JAVA_HOME=`/usr/libexec/java_home -v 1.8`; java -version"
alias j7="export JAVA_HOME=`/usr/libexec/java_home -v 1.7`; java -version"

When I want to change to a Java version, I simply execute j7 in the terminal.

Share:
15,990
Ébe Isaac
Author by

Ébe Isaac

PhD in Machine Learning. My research interests are anomaly detection, biometrics, gait analysis, and data science. Profiles: ResearchGate LinkedIn

Updated on June 11, 2022

Comments

  • Ébe Isaac
    Ébe Isaac almost 2 years

    Java 9 is installed in my MacBook (OS X 10.11 El Capitan). As I needed Java 8, I've installed it using Homebrew.

    $ brew cask install java8
    

    However, the Java version is still 9 in the terminal.

    $ java -version
    java version "9"
    Java(TM) SE Runtime Environment (build 9+181)
    Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode) 
    

    The install location of the current Java seems to be in /System/Library/Frameworks/.../Commands

    $ ls -la /usr/bin/java
    lrwxr-xr-x  1 root  wheel  74 Sep 23  2017 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
    

    Homebrew seems to have installed Java 8 in

    /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/
    

    Of course I could just prepend the above path to the PATH environment variable in ~/.profile, but I wanted to know whether there is a more robust way of setting the path for the older Java version.

  • Alejandro Moya
    Alejandro Moya over 4 years
    Best answer ever!
  • JonB
    JonB over 2 years
    I just added a java11 with this command brew install java11 but when I run ls -la /usr/bin/java it points to noting -rwxr-xr-x 1 root wheel 138880 Jan 1 2020 /usr/bin/java