java mac 环境配置等问题

Mac 上 java 究竟在哪里,本文彻底让你搞清楚!

首先看一下上面这篇文章,说的基本没问题,可是在我的机器上就有问题,具体如下:

通过上面文章的问题,我们知道,直接调用的java命令,其实是/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java,通过查看版本号,发现都是openjdk 1.8.0的版本,这点没有问题。

查看java默认安装路径,我们使用如下命令 /usr/libexec/java_home -V。带-V表示列出所有安装的,不带表示默认的。看下面的文章

MAC JDK默认安装路径 JAVA路径

按照第一篇文章中的说法,我电脑上的默认java应该是/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin/java,我们看看这个java的版本是什么

看到没?这个java的版本是官方的11.0.2版本

当然,我们很容易想到,这个肯定是因为我们设置了java环境变量导致的,我们进入.bash_profile中看看,确实设置了

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home

export PATH=${PATH}:${JAVA_HOME}/bin

这个java的版本确实是openjdk 1.8.0版本,这就解决了我的疑惑。

总结一下:java命令的完整路径是/usr/bin/java,这个java是软连接,它其实了/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java,由于Current也是一个软连接,其实是/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java。A/Commands中的java我理解,它其实是从别的地方拷贝过来的。如果我们没有设置java的环境变量,默认的java是/usr/libexec/java_home命令指出的java,在我的电脑上是/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin/java,如果我们有设置java环境变量,那么就是我们配置的java了,在我的电脑上是/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/bin/java

这里看看/usr/libexec/java_home 是什么意思?

java_home也是一个软连接,它指向了/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home

目前对java_home的前世今生还不了解

 Mac 下 JAVA 环境变量的配置

Mac 下 Java 多版本切换

发布了189 篇原创文章 · 获赞 25 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/lizhongyisailang/article/details/105147169