2014年3月24日星期一

MAC_003:设置Java环境

OS X版本:10.9.2。

我之前已经安装了JDK1.7,JDK8发布后,下载安装了JDK8。
接着运行java -version,发现已经指向了JDK8。
我觉得很奇怪,因为我并没有设置Java 环境变量。

查看java命令到底指向哪里?
cd /usr/bin
然后运行 ls -l java,输出如下:
lrwxr-xr-x  1 root  wheel  74 10 31 14:52 java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
发现java 指向的是/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java。
那么,这个Current中的java到底是什么版本呢?其实,Current只是一个快捷方式而已,是为了方便设置默认java的。

如果安装了多个JDK,可以创建 ~/.bash_profile 文件,为每个用户设置JAVA_HOME等变量。
创建 ~/.bash_profile,增加如下内容:
#!/bin/sh

# Set JDK8 Environment
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
export ANT_HOME=~/apache/ant
export M2_HOME=~/apache/maven
export MAVEN_OPTS="-Xms512m -Xmx1024m"
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$M2_HOME/bin:$PATH
alias ll="ls -alF"

注意,一般不建议修改/etc/profile,因为这是系统环境设置文件。

关闭所有 Terminal ,再次进入一个新的Terminal,运行java -version,发现已经指向JDK1.7了。

为了方便切换不同的JDK,我在~/目录下分别创建了3个脚本:setJdk6.sh,setJdk7.sh,setJdk8.sh。
(1)setJdk6.sh
#!/bin/sh

#set Java Environment
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH
(2)setJdk7.sh
#!/bin/sh

#Set Java Environment
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
#export ANT_HOME=/Users/maping/Apache/ant-1.9.3
export ANT_HOME=/Users/maping/Apache/ant
#export MAVEN_HOME=/Users/maping/Apache/maven-3.2.1
export MAVEN_HOME=/Users/maping/Apache/maven
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin:$PATH
(3)setJdk8.sh
#!/bin/sh

#Set Java Environment
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
#export ANT_HOME=/Users/maping/Apache/ant-1.9.3
export ANT_HOME=/Users/maping/Apache/ant
#export MAVEN_HOME=/Users/maping/Apache/maven-3.2.1
export MAVEN_HOME=/Users/maping/Apache/maven
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin:$PATH

在Terminal中执行 . ~/setJdk8Env.sh ,就切换到JDK8了。

没有评论: