mac配置JAVA_HOME最佳方法 - Go语言中文社区

mac配置JAVA_HOME最佳方法


1.安装jdk

这里就不用多说了吧,进入oracle官网,选择mac系统的jdk进行下载,oracle官网提供的是dmg包,双击进行傻瓜式安装即可,我本机安装的是1.7和1.8。
1.6以前mac系统会自带的,现在新系统没有了,oracle官网也不提供mac版的jdk1.6的,如果有同学想要,可以去下面这个地址下载:
http://download.csdn.net/download/zw_yuyan/8350587

2./usr/libexec/ 下的 java_home

在Mac OS X 10.5之后,在 /usr/libexec/ 路径下多了一个叫java_home文件,这是Mac上专门用来管理JAVA_HOME的文件,我们可以靠它轻松得到不同版本的JAVA_HOME,具体操作见下图。

1)打开终端,输入/usr/libexec/java_home,见图(1):
这里写图片描述

图(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):
这里写图片描述

图(2)

可以看到,通过-v+版本号,得到了不同版本的JAVA_HOME,这就是 /usr/libexec/java_home的方便之处。

3.配置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):
这里写图片描述

图(3)

2)编辑.bash_profile:
首先设置好个版本的jdk路径(用 /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):
这里写图片描述

图(4)

4)任意切换JAVA_HOME:
需要切换为jdk7时:

export JAVA_HOME=$JAVA_7_HOME

查看是否成功:

$JAVA_HOME

需要切换为jdk8时:

export JAVA_HOME=$JAVA_8_HOME

查看是否成功:

$JAVA_HOME

效果如图(5):
这里写图片描述

图(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就行了。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Mr_OOO/article/details/60339919
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-12 12:20:13
  • 阅读 ( 3208 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢