How to set the Java path installed by Homebrew?

2019-05-01 04:37发布

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.

1条回答
放我归山
2楼-- · 2019-05-01 05:16

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.

查看更多
登录 后发表回答