关于修改 /usr/libexec/java_home 失败的问题,以前遇到过,后来没做笔记,忘记了。。惭愧
在.bash_profile 中写如下语句
# Mac 默认 JDK 6 ( Mac 默认自带了一个 jdk6 版本)
export JAVA_6_HOME=$(/usr/libexec/java_home -v 1.6 )
# 设置 JDK 8
export JAVA_8_HOME=$(/usr/libexec/java_home -v 1.8 )
usr/libexec/java_home
#alias 命令动态切换 JDK 版本
alias jdk6="export JAVA_HOME=$JAVA_6_HOME"
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
然后到命令行执行
source ~/.bash_profile
然后查看 java -version ,再执行上面定义的 jdk6 命令行,再查看 java -version
如下
QuinnChens-MacBook-Pro:~ Quinn$ java -version
java version "1.8.0_45"
Java (TM ) SE Runtime Environment (build 1.8.0_45-b14 )
Java HotSpot (TM ) 64-Bit Server VM (build 25.45-b02, mixed mode )
QuinnChens-MacBook-Pro:~ Quinn$ jdk6
QuinnChens-MacBook-Pro:~ Quinn$ java -version
java version "1.6.0_65"
Java (TM ) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716 )
Java HotSpot (TM ) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode )
QuinnChens-MacBook-Pro:~ Quinn$
如上,执行 jdk6 命令后, java -version 查看的结果也会相应变化,从 1.8 变为 1.6 ,但是,再看下面
查看 /usr/libexec/java_home 依然没有变化,还是 1.8 (它应该是变成 1.6 )
QuinnChens-MacBook-Pro:~ Quinn$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
所以很好奇 java -version 和 /usr/libexec/java_home 这两者的区别。
今天在编译 android 源码,要求 jdk1.6 。很明显是要将 /usr/libexec/java_home 修改为 1.6 才可以。
所以很好奇,如何修改 /usr/libexec/java_home 的值,是不是我最开始在 bash_profile 中的命令行并不会起到修改 /usr/libexec/java_home 的作用。