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

闲来无事,装个Hbase玩玩,突然发现Mac下默认安装的JDK7,没有配置JAVA_HOME没有那么就自己配呗。

打开之前配置Hadoop集群时配置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. export CLASSPATH=.:$JAVA_HOME
  4. export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
  5. export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH

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

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

Mac下配置JAVA_HOME的更多相关文章

  1. Mac下配置idk

    Mac下配置java #以下进入啰嗦模式演示添加jdk7 #下载jdk7的mac版 #官网下载地址http://www.oracle.com/technetwork/java/javase/downl ...

  2. Tomcat (1) —— Mac下配置Tomcat Https/SSL

    Tomcat (1) -- Mac下配置Tomcat Https/SSL tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 参考来源: SSL/TLS Config ...

  3. mac下配置开发环境

    常用命令 显示隐藏文件 1 defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder 关闭隐藏文 ...

  4. 在Mac下配置php开发环境:Apache+php+MySql

    /private/etc/apache2/httpd.conf 一.启动Apache sudo apachectl start sudo apachectl -v   可以查看到Apache的版本信息 ...

  5. iOS开发MAC下配置svn

    版本控制对于团队合作显得尤为重要,那么如何在iOS开发中进行版本控制呢?在今天的博客中将会介绍如何在MAC下配置SVN服务器,如何导入我们的工程,如何在Xcode中进行工程的checkOut和Comm ...

  6. mac下配置openfire

    下载 在浏览器中打开如下网址http://www.igniterealtime.org/downloads/index.jsp,根据你的操作系统选择对应的版本进行下载,这里我是在mac下配置的,所以选 ...

  7. CAS (1) —— Mac下配置CAS到Tomcat(服务端)(转)

    tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas版本: cas4.1.2cas-client-3.4.1 参考来源: CAS实现单点登录(SSO)经典完整教 ...

  8. mac下配置gdb调试golang

    mac下配置gdb调试golang 原文链接 https://sourceware.org/gdb/wiki/BuildingOnDarwin Building GDB for Darwin Crea ...

  9. Mac下配置Maven环境变量

    Mac下配置Maven环境变量 1.先到Apache官网下载maven压缩包.下载地址:http://maven.apache.org/download.cgi 2.Maven是用Java开发的,所以 ...

随机推荐

  1. javascript输出图的简单路径

    <script> //图的构建 function vnode() { this.visited=0; this.vertex=0; this.arcs=new Array(); } fun ...

  2. C#代码:用事件模式实现通知

    事件提供了一种标准的机制来通知监听者..NET的事件模式使用了事件语法来实现观察者模式.任意数量的客户对象都可以将自己的处理函数注册到事件上,然后处理这些事件.这些客户对象不需要再编译期就给出.时间也 ...

  3. lua for循环

    <转自网络,仅供学习> for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环. 语法 Lua编程语言的for循环的语法是: for init,max/min value, ...

  4. 【转】ASP.NET中服务器控件Table动态生成表格及其属性介绍

    下文所有内容转自开源中国:http://www.oschina.net/question/565065_86453#tags_nav ================================= ...

  5. WCF Client is Open Source

    WCF Client is Open Source Wednesday, May 20, 2015 Announcement New Project WCF We’re excited to anno ...

  6. generator函数

    function* helloWordGenerator() { yield "hello"; yield "world"; return "endi ...

  7. Newtonsoft.Json 序列化和反序列化 时间格式 [转]

    1.JSON序列化 string JsonStr= JsonConvert.SerializeObject(Entity); eg:   A a=new A(); a.Name="Elain ...

  8. (转帖)BootStrap入门教程 (三)

      上讲回顾:Bootstrap的基础CSS(Base CSS)提供了优雅,一致的多种基础Html页面要素,包括排版,表格,表单,按钮等,能够满足前端工程师的基本要素需求. Bootstrap作为完整 ...

  9. C++中的空类与空结构体大小

    今天面试遇到了一个很有意思的问题,即空结构体在C++中所占的内存大小是多少?参见如下代码: #include <iostream> struct S0 { }; int main() { ...

  10. SIM卡里的文件

    SIM卡里的所有文件按树来组织:主文件MF(Master File)——每一块SIM卡只有一个唯一的主文件, 其他所有文件都是它的子孙, 主文件只有文件头,里面存放着整个SIM卡的控制和管理信息专用文 ...