Mac 的 jdk 版本配置

2015-09-15 21:14:20 +08:00
 Registering

关于修改 /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 的作用。

1746 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/220956

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX