Mac 上 java 究竟在哪里,本文彻底让你搞清楚!
-
Mac下当你在【终端】输入java -version时,是执行的哪里的java呢,which java命令可以看到,就是【/usr/bin/java】
-
【/usr/bin/java】只是个替身,实际指向【/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java】,如图,在/usr/bin目录下执行:ls -l java就可以看到
-
第2点提到的【/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java】其实也不是真正的java,因为Current文件夹是替身,它指向了同目录下的某个版本,例如A文件夹,如下图:(这样的好处是装了多个版本java后,可以方便地调整Current指向,使得不同版本java变成系统默认的,通常在 System Preferences - Java - Java Control Panel - Java - View... - Java Runtime Environment Settings 里可以调整)
-
第3点提到的A文件夹是安装java后系统生成的。它里面的Commands文件夹下有个java可执行文件,这个java其实调用了真真正正的java原身–>【/Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home/bin/java】(你试试把这个java改个名,再在终端里输入java就明白了哦)
PS:这里的版本号(jdk1.8.0_141.jdk)不同的机器可能不一样,也可能会存在多个版本,这就看你机器上装了多少个版本的java了 -
归根到底,【/Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home/bin/java】才是真正的工作者。