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 多版本切換

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章