Mac系统配置JDK环境变量
1、安装
因为并非所有用户都用得着 Java ,所以在默认状态下 OS X 不预装 Java , 如果你需要的话可以手动安装.
到 Oracle 下载最新版的 Java 8 JDK 安装,安装目录可通过命令“/usr/libexec/java_home”查看
安装后在终端输入
java -version
如果显示版本就说明安装好了.
如果显示如下, 就说明没安装对,需要重新来过.
No Java runtime present, requesting install.
其实,也可以尝试下JAVA环境管理工具
2、设置MAC中默认的java版本[了解]
查看java链接路径:
ls -l /usr/bin/java
bbcdeMacBook-Pro:~ cbb$ ls -l /usr/bin/java
lrwxr-xr-x 1 root wheel 74 1 14 2016 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
可以看到java连接到了current版本。那么这个到底是什么版本呢?其实,mac中current只是一个快捷方式而已,是为了方便设置默认java的。
这个链接连到哪里,默认的java就是哪个。但是在mac中可以保持这个java链接不变,只是改变一下当前的java即可,下面是步骤[注:该步骤有待证实,这里只做参考]:
1)打开 Finder : 单击桌面地步的finder图标即可。
2)Application-->Utilities-->Java-->Java Preferences
3)由第二步可以打开“Java Preferences”对话框,选中“General”tab。在下面的“Java Application Runtime Settings”区把需要的java版本拖动到最顶端即可。
最顶端的java就是当前(current)java,这样在改变默认java版本时就不用在/usr/bin下重新设置java链接,而是直接在这里把需要的java拖到最上面就行。
3、在MAC上查找和设置$JAVA_HOME
可以使用工具命令“/usr/libexec/java_home”来定位JAVA_HOME[即:安装目录]:
定位JAVA:
/usr/libexec/java_home
显示:
/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
另外可以使用-V选项列出所有版本的JAVA_HOME:
/usr/libexec/java_home -V
显示:
Matching Java Virtual Machines (3):
1.7.0_80, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
1.6.0_65-b14-468, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
4、配置JAVA_HOME
在windows中,javahome的值只是取到版本号的目录即可,但是在mac中有稍微的不同,要去到版本号目录下的Home目录,如:
/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
环境变量要在etc目录下的profile文件中配置,这样才是永久的配置。
cd /etc/
vi profile
输入如下内容:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
保存,退出,使之生效:
source /etc/profile
这样JAVA_HOME的环境便令配置好了。
同样的道理,我们可以在profile这个文件中进行PATH,CALSSPATH等环境变量的配置。
5、MAC下同时安装多个版本的JDK
JDK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下Java8的Lambda等新特性,可是目前Java企业级应用的主打版本还是JDK6, JDK7。因此,我需要在我的电脑上同时有JDK8,JDK7,JDK6。JDK6和JDK7主要是做一些产品代码的验证,以及自己玩一些开源项目,JDK8则纯属尝鲜,谁叫咱是喜新厌旧的程序员呢!
目标:在命令行下,可以通过命令'jdk6', 'jdk7','jdk8'轻松切换到对应的Java版本, 默认初始设置为jdk7
- 首先安装所有JDK:jdk6、jdk8,默认路径:/Library/Java/JavaVirtualMachines
- 配置/etc/profile文件
export JAVA_6_HOME=/Library/Java/JavaVirtualMachines/jdk1.6.0.jdk/Contents/Home export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0.jdk/Contents/Home export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home export JAVA_HOME=$JAVA_8_HOME
- 创建alias命令动态切换JAVA_HOME的配置
alias jdk8='export JAVA_HOME=$JAVA_8_HOME' alias jdk7='export JAVA_HOME=$JAVA_7_HOME' alias jdk6='export JAVA_HOME=$JAVA_6_HOME'
- 验证
CNxnliu:Versions xnliu$ java -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode) CNxnliu:Versions xnliu$ jdk8 CNxnliu:Versions xnliu$ java -version java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode) CNxnliu:Versions xnliu$