Mac OS X 下查看和设置JAVA_HOME

Posted Be better

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac OS X 下查看和设置JAVA_HOME相关的知识,希望对你有一定的参考价值。

原文链接 : http://blog.csdn.net/done58/article/details/51138057

 

1, 查看Java版本

打开Mac电脑,查看JAVA版本,打开终端Terminal,通过命令行查看笔者的java版本:: 

[html] view plain copy
 
  1. bogon:~ donny$ java -version  
  2. java version "1.7.0_71"  
  3. Java(TM) SE Runtime Environment (build 1.7.0_71-b14)  
  4. Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)  
 

发现已安装Java运行环境。如果你的系统已经安装成功JDK,通过java -version就可以看到相应的jdk版本。如果你的电脑还没有安装JDK的话,可以到Oracle官网下载jdk。

 

2, 查看JAVA安装路径

 

[html] view plain copy
 
  1. bogon:~ donny$ which java  
  2. /usr/bin/java  
  3. bogon:~ donny$ whereis java  
  4. /usr/bin/java  
  5. bogon:~ donny$   

通过ls -l  /usr/bin/java 不能找到真实的安装路径,通过搜索发现了这篇文章Important Java Directories on Mac OS X, https://developer.apple.com/library/mac/qa/qa1170/_index.html

 

 

Many Java applications need to know the location of a $JAVA_HOME directory. The $JAVA_HOME on Mac OS X should be found using the /usr/libexec/java_home command line tool on Mac OS X 10.5 or later. On older Mac OS X versions where the tool does not exist, use the fixed path "/Library/Java/Home". The /usr/libexec/java_home tool dynamically finds the top java version specified in Java Preferences for the current user. This path allows access to the bin subdirectory where command line tools such as javajavac, etc. exist as on other platforms. The tool /usr/libexec/java_home allows you to specify a particular CPU architecture and Java platform version when locating a $JAVA_HOME.

Another advantage of dynamically finding this path, as opposed to hardcoding the fixed endpoint, is that it is updated when a new version of Java is downloaded via Software Update or installed with a newer version of Mac OS X. For this reason, it is important that developers do not install files in the JDKs inside of /System, since the changes will be lost with subsequent updates by newer versions of Java.

To obtain the path to the currently executing $JAVA_HOME, use the java.home System property.

 

[html] view plain copy
 
  1. bogon:~ donny$ ls -l /usr/libexec/java_home  
  2. lrwxr-xr-x  1 root  wheel  79 Nov  1 15:43 /usr/libexec/java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home  

 

这还是没定位到真实的位置。根据网上搜索Mac OSX 10.9以后系统就自带了Java 6的环境,路径在:

/Library/Java/JavaVirtualMachines文件夹下。下面看这个路径的结果是什么样?

 

[html] view plain copy
 
  1. bogon:Home donny$ cd /Library/Java/JavaVirtualMachines  
  2. bogon:JavaVirtualMachines donny$ ls   
  3. jdk1.7.0_71.jdk  

 

可以看到真实的JDK在这里了,最终的路径是:

 

[html] view plain copy
 
  1. /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home  

 

可以参照苹果的文件文档说明,在命令 /usr/libexec/java_home 后面使用-V选项列出所有版本的JAVA_HOME,即如下的结果:

 

[html] view plain copy
 
  1. bogon:Home donny$ /usr/libexec/java_home -V  
  2. Matching Java Virtual Machines (1):  
  3.     1.7.0_71, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home  
  4. /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home  

 

3, 设置JAVA_HOME环境变量

cd回到用户目录,再列出当前的所有文件,可以见到当前系统的.开头的所有文件。

 

[html] view plain copy
 
  1. bogon:Home donny$ cd  
  2. bogon:~ donny$ ls -a  

添加java_home到.bash_profile文件中

 

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib 需要说明的是Mac OSX 10.5之后苹果就建议设置$JAVA_HOME变量到/usr/libexec/java_home,添加完毕之后,按esc退出插入模式,并键入wq!保存退出文件。

到这个步骤,我们就已经配置好了全局的java的path和classpath环境变量。以后就可以好好的进行java开发了。



以上是关于Mac OS X 下查看和设置JAVA_HOME的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac OS X 10.9 上设置 JAVA_HOME 环境变量?

mac OS X下配置jdk环境变量

用 Mac OS X 自带的 SSH 登陆 Linux 后出现中文乱码,如何解决?

Mac OS X Mountain Lion 下如何独立设置鼠标和触摸板的滚动方向?

(转)Mac OS X 下部分Android手机无法连接adb问题之解决方案

如何在Mac OS上设置多个env home变量?