Mac OS X 下查看和设置JAVA_HOME

1, 查看JAVA版本

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

xxxx$ java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

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

2, 查看JAVA安装路径

xxxxx$ which java
/usr/bin/java
xxxxx$ whereis java
/usr/bin/java

通过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 java, javac, 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.
 

xxxxxxx$ ls -l /usr/libexec/java_home
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文件夹下。下面看这个路径的结果是什么样?

xxxxxxx$ cd /Library/Java/JavaVirtualMachines
bogon:JavaVirtualMachines donny$ ls 
jdk1.7.0_71.jdk

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

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home

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

xxxxxxx$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
    1.7.0_71, x86_64:	"Java SE 7"	/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home

3, 设置JAVA_HOME环境变量

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

xxxx$ cd
xxxx$ ls -a

添加java_home到.bash_profile文件中
 

vim .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开发了。
 

你可能感兴趣的:(Linux学习,macos)