MAC系统-JAVA_HOME配置

查看java版本

如果你的系统已经安装成功JDK,通过java -version就可以看到相应的jdk版本。如下图:
uBuFundeMacBook-Pro:~ ubufun$ java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)

查看java的安装路径

uBuFundeMacBook-Pro:JavaVirtualMachines ubufun$ which java
/usr/bin/java
uBuFundeMacBook-Pro:JavaVirtualMachines ubufun$ whereis java
/usr/bin/java
uBuFundeMacBook-Pro:JavaVirtualMachines ubufun$ ls -l /usr/bin/java
lrwxr-xr-x  1 root  wheel  74  7 12 23:24 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
如上图所示,这些都不是实际的位置。
mac下的jdk都默认安装在/Library/Java/JavaVirtualMachines下面。真实路径如下图所示:
uBuFundeMacBook-Pro:~ ubufun$ cd /Library/Java/JavaVirtualMachines
uBuFundeMacBook-Pro:JavaVirtualMachines ubufun$ ls -la
total 0
drwxr-xr-x  3 root  wheel   96  7 17 14:50 .
drwxr-xr-x  4 root  wheel  128  7 17 14:50 ..
drwxr-xr-x  3 root  wheel   96  7 17 14:50 jdk1.8.0_212.jdk

The $JAVA_HOME on Mac OS X should be found using the /usr/libexec/java_home command line tool on Mac OS X 10.5 or later.  
参照苹果的文件文档说明,在命令 /usr/libexec/java_home 后面使用-V选项列出所有版本的JAVA_HOME,即如下的结果:
uBuFundeMacBook-Pro:~ ubufun$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
    1.8.0_212, x86_64:	"Java SE 8"	/Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home

JAVA_HOME环境变量设置

为了方便切换和查找JAVA_HOME,我们一般把JAVA_HOME写进.bash_profile中,.bash_profile文件一般在自己的home目录下,如果没有新建一个就可以了。
uBuFundeMacBook-Pro:~ ubufun$ cd ~
uBuFundeMacBook-Pro:~ ubufun$ touch .bash_profile
uBuFundeMacBook-Pro:~ ubufun$ vim .bash_profile
从 /usr/libexec/java_home -V 命令结果中,挑选自己需要的jdk版本,配置到.bash_profile中,如下图:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
保存之后,为了让配置立即生效,需要执行:source ~/.bash_profile命令。如下图所示:
uBuFundeMacBook-Pro:~ ubufun$ echo $JAVA_HOME

uBuFundeMacBook-Pro:~ ubufun$ source .bash_profile 
uBuFundeMacBook-Pro:~ ubufun$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home
如果可以看到刚刚配置的PATH则插入成功!
(待验证)需要说明的是Mac OSX 10.5之后苹果就建议设置$JAVA_HOME变量到/usr/libexec/java_home,如下所示: export JAVA_HOME=$(/usr/libexec/java_home) 如果是多版本,则修改如下: JAVA_HOME=$(/usr/libexec/java_home -v 1.7)