• mac下java环境变量配置


    http://blog.csdn.net/shallowgrave/article/details/39367119

    配置Java环境,添加环境变量这一步:

    1. export JAVA_HOME=/usr/java/latest  
    2. export CLASSPATH=.:$JAVA_HOME  
    3. export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/binexport CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH  


            之前是linux环境下配置的,现在换到另一个类Unix系统MacOS下来,想来也是类似的。只要找到JDK的真实安装路径即可。

            刚好之前在配置maven依赖的JDK依赖有点类似经验。

            

    1. shuchen-2:bin seishuchen$ which java  
    2. /usr/bin/java  
    3. shuchen-2:bin seishuchen$ ls -la /usr/bin/java  
    4. lrwxr-xr-x  1 root  wheel  74 Mar  4  2014 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java  
    5. shuchen-2:bin seishuchen$  

    很快找到了当前JDK的真实路径。查看路径名发现,有Versions字段还有Current字段,作为一个程序猿,这点敏感还是有的。

    马上切换到Versions目录下面,查看:

    1. shuchen-2:Versions seishuchen$ cd /System/Library/Frameworks/JavaVM.framework/Versions  
    2. shuchen-2:Versions seishuchen$ ls -al  
    3. total 72  
    4. drwxr-xr-x  12 root  wheel  408 Jul 15 17:13 .  
    5. drwxr-xr-x  12 root  wheel  408 Apr 11 15:10 ..  
    6. lrwxr-xr-x   1 root  wheel   10 Mar  4  2014 1.4 -> CurrentJDK  
    7. lrwxr-xr-x   1 root  wheel   10 Mar  4  2014 1.4.2 -> CurrentJDK  
    8. lrwxr-xr-x   1 root  wheel   10 Mar  4  2014 1.5 -> CurrentJDK  
    9. lrwxr-xr-x   1 root  wheel   10 Mar  4  2014 1.5.0 -> CurrentJDK  
    10. lrwxr-xr-x   1 root  wheel   10 Mar  4  2014 1.6 -> CurrentJDK  
    11. lrwxr-xr-x   1 root  wheel   10 Mar  4  2014 1.6.0 -> CurrentJDK  
    12. drwxr-xr-x   8 root  wheel  272 Mar  4  2014 A  
    13. lrwxr-xr-x   1 root  wheel    1 Mar  4  2014 Current -> A  
    14. lrwxr-xr-x   1 root  wheel   58 Jul 15 17:12 CurrentJDK -> /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents  
    15. lrwxr-xr-x   1 root  wheel   59 Mar  4  2014 CurrentJDK_BAK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents  

    结果很明显,有木有,原来都指向了/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents

    那么就切换过去瞅瞅呗。

    1. shuchen-2:Versions seishuchen$ cd /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents  
    2. shuchen-2:Contents seishuchen$ ls  
    3. Home       Info.plist MacOS  
    4. shuchen-2:Contents seishuchen$ cd Home/  
    5. shuchen-2:Home seishuchen$ ls  
    6. COPYRIGHT                          bin                                man  
    7. LICENSE                            db                                 release  
    8. README.html                        include                            src.zip  
    9. THIRDPARTYLICENSEREADME-JAVAFX.txt jre  
    10. THIRDPARTYLICENSEREADME.txt        lib  
    11. shuchen-2:Home seishuchen$  

    看到了久违的JDK安装目录了不是。好了,我们的JAVA_HOME即是/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home。

    过程看着挺复杂的样子,当然这个是对于一个最原始的方法,如果你熟悉Mac的话,其实有个获得JAVA_HOME的自带小工具,直接在命令行

    输入/usr/libexec/java_home来获得。

    1. shuchen-2:Home seishuchen$ /usr/libexec/java_home  
    2. /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home  
    3. shuchen-2:Home seishuchen$  

    那么接下来只要修改配置文件使之生效即可。根据你的需求,可以选择修改不同的环境变量配置文件。

    而笔者只是修改当前用户的即可。只要在~/.profile(mac下也可以编辑~/.bashrc,但~/.bash_profile就不确定了,感兴趣的可以自己事先)

    加入:

    1. JAVA_HOME=`/usr/libexec/java_home`  
    2. export JAVA_HOME  
    3.   
    4. export CLASSPATH=.:$JAVA_HOME  
    5. export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin  
    6. export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH   

    接着source ~/.profile ,好了,收工。

    执行Hbase启动脚本,用jps查看一下情况,发现一切是那么完美,哦哈哈

    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就可以看到

    http://ww3.sinaimg.cn/large/a97aded5jw1dz5fm9n077j.jpg

    3. 第2点提到的【/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java】其实也不是真正的java,因为Current文件夹是替身,它指向了同目录下的某个版本,例如A文件夹,如下图:(这样的好处是装了多个版本java后,可以方便地调整Current指向,使得不同版本java变成系统默认的,通常在【实用工具】->【Java偏好设置】里可以调整)

    http://ww1.sinaimg.cn/large/a97aded5jw1dz5fuq4ibhj.jpg

    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】才是真正的工作者啊

  • 相关阅读:
    3(翻译)如何在cocos2d里面使用动画和spritesheet
    Objectivec2.0 每种数据类型定义属性的方法
    cocos2d 入门必备4个基本概念
    如何在Mac上搭建自己的服务器——Nginx
    JN_0001:在微信朋友圈分享时长大于10s的视频
    JN_0002:Win10禁止U盘拷贝文件的方法
    abstract class 和 interface区别
    ref和out
    .Net配置错误页
    Unity3d 物体沿着正七边形轨迹移动
  • 原文地址:https://www.cnblogs.com/melody-emma/p/4683282.html
Copyright © 2020-2023  润新知