Mac上的Java究竟在哪儿
2016-11-23 23:18
411 查看
http://www.voidcn.com/blog/zkq1989/article/p-2127581.html
习惯了在Windows下开发的朋友,初次在Mac下进行Java编程开发对其安装位置都要纠结半天。这里作如下说明
1. Mac下当你在【终端】输入java -version时,是执行的哪里的java呢,which java命令可以看到,就是【/usr/bin/java】
2. 【/usr/bin/java】只是个替身,实际指向【/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java】,如图,ls -l java就可以看到
3. 第2点提到的【/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java】其实也不是真正的java,因为Current文件夹是替身,它指向了同目录下的某个版本,例如A文件夹,如下图:(这样的好处是装了多个版本java后,可以方便地调整Current指向,使得不同版本java变成系统默认的,通常在【实用工具】->【Java偏好设置】里可以调整)
4.第3点提到的A文件夹是安装java后系统生成的。它里面的Commands文件夹下有个java可执行文件,这个java其实调用了真真正正的java原身–>【/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/bin/java】(你试试把这个java改个名,再在终端里输入java就明白了哦)
PS:这里的版本号(1.6.0_37-b06-434)不同的机器可能不一样,也可能会存在多个版本,这就看你机器上装了多少个版本的java了
5. 归根到底,【/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/bin/java】才是真正的工作者啊,绕吧
$JAVA_HOME环境变量在Mac
OS X中设置的问题
Mac OSX新版本(10.5+)之后,已经建议$JAVA_HOME的设置用 /usr/libexec/java_home,因为java_home
可以根据你的需要返回指定的版本。
1、默认是查看当前版本:
2、-V (大写)参数可以列出所有的版本:
3、-a 参数可以根据CPU的类型过滤
4、-d 参数可以过滤 32位、64位
5、-v (小写)参数可以过滤版本:
以后就可以在
习惯了在Windows下开发的朋友,初次在Mac下进行Java编程开发对其安装位置都要纠结半天。这里作如下说明
1. Mac下当你在【终端】输入java -version时,是执行的哪里的java呢,which java命令可以看到,就是【/usr/bin/java】
2. 【/usr/bin/java】只是个替身,实际指向【/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java】,如图,ls -l java就可以看到
3. 第2点提到的【/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java】其实也不是真正的java,因为Current文件夹是替身,它指向了同目录下的某个版本,例如A文件夹,如下图:(这样的好处是装了多个版本java后,可以方便地调整Current指向,使得不同版本java变成系统默认的,通常在【实用工具】->【Java偏好设置】里可以调整)
4.第3点提到的A文件夹是安装java后系统生成的。它里面的Commands文件夹下有个java可执行文件,这个java其实调用了真真正正的java原身–>【/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/bin/java】(你试试把这个java改个名,再在终端里输入java就明白了哦)
PS:这里的版本号(1.6.0_37-b06-434)不同的机器可能不一样,也可能会存在多个版本,这就看你机器上装了多少个版本的java了
5. 归根到底,【/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/bin/java】才是真正的工作者啊,绕吧
$JAVA_HOME环境变量在Mac
OS X中设置的问题
Mac OSX新版本(10.5+)之后,已经建议$JAVA_HOME的设置用 /usr/libexec/java_home,因为java_home
可以根据你的需要返回指定的版本。
1、默认是查看当前版本:
1 | $ /usr/libexec/java_home |
2 | /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home |
1 | $ /usr/libexec/java_home -V |
2 | Matching Java Virtual Machines (5): |
3 | 1.7.0_25, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home |
4 | 1.6.0_65-b14-462, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home |
5 | 1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home |
6 | 1.6.0_37-b06-434, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home |
7 | 1.6.0_37-b06-434, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home |
8 |
9 | /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home |
1 | $ /usr/libexec/java_home -a i386 |
2 | /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home |
3 | $ /usr/libexec/java_home -a x86_64 |
4 | /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home |
1 | $ /usr/libexec/java_home -d 32 |
2 | /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home |
3 | $ /usr/libexec/java_home -d 64 |
4 | /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home |
1 | micmiu-mbp:~ micmiu$ /usr/libexec/java_home - v 1.6 |
2 | /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home |
3 | micmiu-mbp:~ micmiu$ /usr/libexec/java_home - v 1.7 |
4 | /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home |
~/.profile中按照如下方法自定义$JAVA_HOME:
1 | #指定默认版本 |
2 | export JAVA_HOME=`/usr/libexec/java_home` |
3 | export JAVA_HOME=$(/usr/libexec/java_home) |
4 | #指定自定义版本 |
5 | export JAVA_HOME=`/usr/libexec/java_home -d 64 - v 1.6` |
6 | export JAVA_HOME=$(/usr/libexec/java_home -d 64 - v 1.6) |
相关文章推荐
- Mac 上 java 究竟在哪里,本文彻底让你搞清楚!
- Mac 上 java 究竟在哪里,本文彻底让你搞清楚!
- 【转】Mac 上 java 究竟在哪里,本文彻底让你搞清楚!
- Mac 上 java 究竟在哪里,本文彻底让你搞清楚!
- mac OS X 上设置动态JAVA_HOME
- java获取网卡的mac地址
- Mac下安装eclipse Java开发环境
- MAC OS X JAVA开发环境配置、mysql
- mac 配置java home
- mac 自动配置java版本
- java中究竟是传值还是传引用?
- mac下使用RabbitMQ(Java语言)
- 管理 Java 类路径(UNIX 和 Mac OS X)
- Mac 修改Java环境变量 pod brew等其他不能用
- JAVA MacUtil
- Java/JSP获得客户端网卡MAC地址的三种方法解析
- Mac : java web环境配置
- 如何在mac下配置maven与java环境变量
- java 转译mac中表情工具类
- MAC 下卸载 JAVA