【OSX】多个JDK共存时选择要使用的JDK版本
10.5以后的$JAVA_HOME没有被在.bash_profile中设置的话会被默认设置为 /usr/libexec/java_home。
如果一台mac里面安装了多个JDK, 可以通过/usr/libexec/java_home -V 来查看, 结果如下:
$ /usr/libexec/java_home -V
Matching Java Virtual Machines ():
1.7.0_13, x86_64:"Java SE 7"/Library/Java/JavaVirtualMachines/jdk1..0_13.jdk/Contents/Home
1.6.0_65-b14-, x86_64:"Java SE 6"/System/Library/Java/JavaVirtualMachines/1.6..jdk/Contents/Home
1.6.0_65-b14-, i386:"Java SE 6"/System/Library/Java/JavaVirtualMachines/1.6..jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1..0_13.jdk/Contents/Home
最后一行实际上反映的是系统默认使用的JAVA_HOME路径, 也就是执行/usr/libexec/java_home得到的路径。
如果想使用JDK1.6怎么办?
请在.bash_profile中添加
JAVA_HOME=$(/usr/libexec/java_home -v 1.6) export PATH=$PATH:$JAVA_HOME export JAVA_HOME
这样在bash下默认使用的就是JDK 1.6了
$ java -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14--11M4609) Java HotSpot(TM) -Bit Server VM (build 20.65-b04-, mixed mode)
另外要注意的一个地方是, 有些App是直接使用:
$ pwd
/System/Library/Frameworks/JavaVM.framework/Versions
$ ls -l
total
lrwxr-xr-x root wheel Feb : 1.4 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.4. -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.5 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.5. -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.6 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.6. -> CurrentJDK
drwxr-xr-x root wheel Feb : A
lrwxr-xr-x root wheel Feb : Current -> A
lrwxr-xr-x root wheel Feb : CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6..jdk/Contents
$
CurrentJDK来定位JDK路径的。一般如果JDK1.6是后安装的就会看到CurrentJDK为1.6。
要改的话:
$ ls -l
total
lrwxr-xr-x root wheel Feb : 1.4 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.4. -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.5 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.5. -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.6 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.6. -> CurrentJDK
drwxr-xr-x root wheel Feb : A
lrwxr-xr-x root wheel Feb : Current -> A
lrwxr-xr-x root wheel Feb : CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6..jdk/Contents
$ sudo rm CurrentJDK
Password:
$ ln -s /Library/Java/
ln: ./: File exists
$ ls -l
total
lrwxr-xr-x root wheel Feb : 1.4 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.4. -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.5 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.5. -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.6 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.6. -> CurrentJDK
drwxr-xr-x root wheel Feb : A
lrwxr-xr-x root wheel Feb : Current -> A
$ ln -s /Library/Java/JavaVirtualMachines/jdk1..0_13.jdk/Contents CurrentJDK
$ ls -l
total
lrwxr-xr-x root wheel Feb : 1.4 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.4. -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.5 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.5. -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.6 -> CurrentJDK
lrwxr-xr-x root wheel Feb : 1.6. -> CurrentJDK
drwxr-xr-x root wheel Feb : A
lrwxr-xr-x root wheel Feb : Current -> A
lrwxr-xr-x root wheel Feb : CurrentJDK -> /Library/Java/JavaVirtualMachines/jdk1..0_13.jdk/Contents
$
【OSX】多个JDK共存时选择要使用的JDK版本的更多相关文章
- python2.x和python3.x版本共存时选择启动的版本
在windows环境下装好python2.7和python3.6之后,我之前一直是用了很笨的办法去区分版本 那就是把各个版本python安装目录下的python.exe分别改为python2.exe和 ...
- 在eclipse中新建Dynamic web project时选择2.5和3.0的区别(里面涉及servlet和tomcat的问题)
1.是指servlet的版本,是2.5的还是3.0的 servlet3.0以后支持异步 2.dynamic web module和对应的TOMCAT 版本 http://blog.sina.com.c ...
- NSIS:卸载时选择组件
原文 NSIS:卸载时选择组件 有时候,我们想要在卸载时也可以选择组件,进行定制性的卸载,那么,以下文字将简略讨论这个问题: 题外:我们想要卸载时选择组件,当然是在安装时要有组件选择页面的前提下,也就 ...
- SQL面试题:有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列
.请教一个面试中遇到的SQL语句的查询问题 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. ------------------- ...
- 用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. 方法一: select (case when a>b then a el ...
- 解决多版本共存时,python/pip等命令失效
问题呈现: Windows环境下,多版本Python解释器共存时,由于未配置环境变量或者反复卸载重装解释器等原因,CMD交互下输入Python或者pip等命令时失效 解决方式: 1)配置各个解释器的环 ...
- 【OSX】解决编译AOSP时需要10.5/10.6 SDK下载
有人遇到的是需要10.6的sdk. 公司网快下载了xcode, 把里面的10.5sdk和10.6sdk拿出来, 一共才一百多兆…… 下载链接: http://pan.baidu.com/s/1gdxG ...
- Fedora Server 21下OpenJdk和Oracle Jdk共存
最新文章:Virson's Blog 参考文章:博客园-三维蚂蚁 Linux公社 1.首先需要下载对应平台的Jdk:Oracle 官网 2.使用yum或rpm命令安装Jdk: yum install ...
- 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...
随机推荐
- 498. Diagonal Traverse对角线z型traverse
[抄题]: Given a matrix of M x N elements (M rows, N columns), return all elements of the matrix in dia ...
- Linux之 Ngnix
前言: WEB框架 django 大而全, 功能特别多 form表单 , ORM, 中间件 笨重,臃肿 600/s flask 轻量级的,小而精, 它使用的都是第三方模块进行拼接起来的 4988/s ...
- Python爬虫项目--爬取链家热门城市新房
本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...
- vs [失败]未能找到文件
用文本文件打开csproj 文件.将里面的不需要文件删除; 或者在工程里面先将其移出工程.然后再删除;
- 深入理解JVM(四)JVM性能监控与故障处理工具
4.2 JVM命令行工具 1.jps(JVM Process Status Tool):JVM进程查看工具,命令行进入到jdk的bin目录下,使用命令:jps -l/-q/-v/-m 2.jstat( ...
- mysql8.0 linux 安装
1.下载 mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz 2.解压 tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.ta ...
- java的poi 读取exc 文件
package lizikj.bigwheel.shop.util.excel; import java.io.File; import java.io.FileInputStream; import ...
- js后加版本号
页面引入两个js文件 <script charset="utf-8" src="mjs/randomimage.js?v=01291"></s ...
- Hadoop 系列文章(三) 配置部署启动YARN及在YARN上运行MapReduce程序
这篇文章里我们将用配置 YARN,在 YARN 上运行 MapReduce. 1.修改 yarn-env.sh 环境变量里的 JAVA_HOME 路径 [bamboo@hadoop-senior ha ...
- Nginx 教程
开源版:http://nginx.org 商业版:http://nginx.com 阿里Tengine OpenResty开源版.商业版 视频教程:哔哩哔哩 菜鸟教程:nginx安装 1.初识 Nig ...