这里就不用多说了吧,进入Oracle官网,选择mac系统的jdk进行下载,oracle官网提供的是dmg包,双击进行傻瓜式安装即可,我本机安装的是1.7和1.8。 1.6以前mac系统会自带的,现在新系统没有了,oracle官网也不提供mac版的jdk1.6的,如果有同学想要,可以去下面这个地址下载: http://download.csdn.net/download/zw_yuyan/8350587
在Mac OS X 10.5之后,在 /usr/libexec/
路径下多了一个叫java_home文件,这是Mac上专门用来管理JAVA_HOME的文件,我们可以靠它轻松得到不同版本的JAVA_HOME,具体操作见下图。
1)打开终端,输入/usr/libexec/java_home
,见图(1):
很明显可以看出,java_home这个文件的作用是映射到了/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
(mac下的jdk都默认安装在/Library/Java/JavaVirtualMachines
下面),得到了我安装的jdk1.8的JAVA_HOME。
2)再次在终端分别输入/usr/libexec/java_home -v 1.7
,/usr/libexec/java_home -v 1.8
,如图(2):
/usr/libexec/java_home
的方便之处。熟悉linux的同学都知道,为了方便切换和查找JAVA_HOME,我们一般把JAVA_HOME写进.bash_PRofile中,.bash_profile文件一般在自己的home目录下,如果没有新建一个就可以了(.开头的文件一般情况下是隐藏的。 早期的OS X(10.6~10.8)系统可以使用如下两条命令来开始或者关闭系统隐藏文件的显示:
defaults write com.apple.Finder AppleShowAllFiles Yes && killall Finder //显示隐藏文件defaults write com.apple.Finder AppleShowAllFiles No && killall Finder //不显示隐藏文件当升级到OS X 10.9 Mavericks版本之后,这两条命令需要做一些修改,变成了如下命令:
defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder //显示隐藏文件defaults write com.apple.finder AppleShowAllFiles No && killall Finder //不显示隐藏文件1)编辑/创建 .bash_profile(mac中/etc/profile
文件是只读属性,而且不支持chmod,所以不建议去修改它),在终端输入cd ~
,输入vim .bash_profile,如下图(3):
/usr/libexec/java_home
的方式,方便管理),比如:export JAVA_7_HOME="/usr/libexec/java_home -v 1.7"export JAVA_8_HOME="/usr/libexec/java_home -v 1.8"3)设置一个默认的JAVA_HOME:
export JAVA_HOME=$JAVA_8_HOME然后按ESC,用wq的方式保存退出(基本的linux操作应该都会吧)。 完整文本如图(4):
查看是否成功:
$JAVA_HOME需要切换为jdk8时:
export JAVA_HOME=$JAVA_8_HOME查看是否成功:
$JAVA_HOME效果如图(5):
很明显,JAVA_HOME很简单地切换了。
奇怪的是,JAVA_HOME变了,java -version并没改变,我试着去改了添加jdk7的bin到PATH里,还是没用,我想应该是第一次安装jdk8的时候,jdk8的bin已经被写到PATH里了,所以每次系统在PATH中搜索到java
命令的时候,就直接调用这个java
命令了,所以java的版本一直是1.8,具体怎么改,我目前没有好的办法,如果哪位同学有好办法,希望一起分享一下。
其实不用改也没关系,系统上的java版本应该是用来启动一些软件的,由于有向下兼容熟悉,所以一般是越高越好。 在开发中,jdk一般会让你自己选择,这时可以在终端输入/usr/libexec/java_home -v 1.x
来查看对应版本号的JAVA_HOME目录,选择该目录下的JAVA_HOME就行了。
新闻热点
疑难解答