Mac下多版本JDK安装及管理
在Java项目中,经常对JDK版本有不同的要求,可是不可能为了某个项目的运行重新下载不同版本JDK进行安装,这样就涉及到对本地环境中多个JDK版本的管理。
Mac的JDK都是安装到一个指定目录的:/Library/Java/JavaVirtualMachines/,因此可以在这个目录下查看自己安装的所以JDK:
由此可见本系统中安装了7、10、13三个版本。对于JDK的安装可以直接到官网下载Mac需要的dmg安装包。如截图:
接下来就是配置环境变量并进行JDK版本管理,首先执行命令:vim ~/.bash_profile修改环境变量,MAC建议此处修改环境变量,而不是修改/etc/profile。几种配置文件区别如下:
如果没有.bash_profile文件那么在运行vim ~/.bash_profile命令时会创建这个文件,然后进行环境变量配置,输入以下信息并保存:
export JAVA_10_HOME=/Library/java/JavaVirtualMachines/jdk-10.0..jdk/Contents/Home
export JAVA_13_HOME=/Library/java/JavaVirtualMachines/jdk-13.0..jdk/Contents/Home
export JAVA_7_HOME=/Library/java/JavaVirtualMachines/jdk1..0_80.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
# 默认JDK为JDK10
export JAVA_HOME=$JAVA_10_HOME # alias命令动态切换JDK版本
alias jdk7="export JAVA_HOME=$JAVA_7_HOME"
alias jdk10="export JAVA_HOME=$JAVA_10_HOME"
alias jdk13="export JAVA_HOME=$JAVA_13_HOME" export PATH
export CLASSPATH
然后执行命令:source ~/.bash_profile 使配置立即生效,如果未生效,关掉当前Terminal并重新打开。
执行命令:java -version 查看当前version号,执行命令jdk7、jdk10、jdk13测试JDK版本切换是否正常,如下图:
Mac下多版本JDK安装及管理的更多相关文章
- Mac下多版本JDK安装
1.下载 JDK1.6官方未提供1.6的mac版本,需要去apple的开发者网站 JDK1.7.JDK1.8可以去Oracle官方下载 此处提供网盘下载地址: 链接: http://pan.baidu ...
- 2.1 mac下多版本jdk的安装和管理
之前已经安装过jdk8了,安装路径:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk 现在安装jdk10,下载后,双击dmg文件一直到安装完成,安装 ...
- Mac下多版本pip共存
Mac下多版本pip共存 来自于官方的解释, pip是python包管理工具, 该工具提供了对python包的查找, 下载, 安装, 卸载等功能python第三方工具包多数依赖于pip进行安装, 如 ...
- Linux下指定版本编译安装LAMP
说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...
- mac 下 parallels 虚拟机 ubuntuServer 安装 parallels tools
mac 下 parallels 虚拟机 ubuntuServer 安装 parallels tools 1. 先点击ubuntu 虚拟机右下角的设置 -----安装 parallels tools - ...
- mac下使用命令行安装、卸载ipa包、查看日志
mac下使用命令行安装.卸载ipa包.查看日志 https://www.cnblogs.com/lily1989/p/8383916.html
- Mac下的类似apt-get的包管理工具Homebrew(笔记)
对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ...
- mac下npm/node的安装和卸载、升级;node、npm升级后最后删掉node_modules重新安装
mac还是使用brew install简单一些:最好使用一种安装方式,不要多种方式互用: 更新npm到最新版本npm install -g npm更新npm到指定版本 npm -g install n ...
- Mac下多个jdk自由切换
1.缘由,某些场合下需特别配置jdk,如最近学习遇到 annotation注解支持jdk1.5以上版本,而我用的jdk1.8,导致tomcat启动失败,提示降低jdk版本到1.7,1.6 2.搜索ma ...
随机推荐
- iOS 不允许横屏的简单代码
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWi ...
- 《Netty实战》源码运行及本地环境搭建
1.源码路径: GitHub - zzzvvvxxxd/netty-in-action-cn: Netty In Action 中文版 ,中文唯一正版<Netty实战>的代码清单 下载后 ...
- django2.x报错No module named 'django.core.urlresolvers'
解决方法如下 from django.urls import reverse 最近从django1.9迁移到django2.0中出现一个意外的报错: No module named 'django.c ...
- 使用第三方Java类库jaudiotagger完成Flac音频文件metadata(元数据)的读和修改
最近需要使用Java Swing做个读写Flac格式音频文件的小GUI工具,虽然Mp3tag完全可以完成Flac的读写(编辑)任务,但是为了简化工作流程(编辑Flac信息后调用其它系统的接口完成部分信 ...
- httpsqs消息队安装
HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务,使用 Tokyo Cabinet 的 B+Tree Key ...
- 利用单臂路由实现vlan间路由
本实验模拟公司场景 通过路由器实现不同vlan部门间通讯,拓扑图如下
- [转帖]04-创建kubeconfig认证文件
04-创建kubeconfig认证文件 https://www.cnblogs.com/guigujun/p/8366530.html 学习一下 貌似挺有用的. 本文档记录自己的学习历程! 创建 ku ...
- 《Mysql - Count(*) 的优化》
一:Count(*) 的实现方式? - 要明确的是,在不同的 MySQL 引擎中,count(*) 有不同的实现方式. - MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) ...
- Jmeter-后置处理器--json提取器
Token提取: 将token放入全局变量: 将token值设为全局变量,${__setProperty(newtoken,${token},)} 添加请求头部管理器作为全局使用,将变量token使 ...
- Go语言学习笔记(10)——错误处理示例
// 定义一个 DivideError 结构 type DivideError struct { dividee int divider int } // 实现 `error` 接口 func (de ...