Mac 多版本 JDK 管理
Mac 多版本 JDK 管理
1. 准备
- ZSH
- Homebrew
- Oracle JDK 1.8 安装包(Homebrew 官方源和第三方源不再提供老版本的 Oracle JDK)
2. 安装 JDK
Oracle JDK 安装
点开安装包,一直下一步就行了Open JDK 安装
通过 Homebrew 安装,先要添加第三方源:brew tap homebrew/cask-versions
然后brew search jdk,查找结果如下:

安装命令:
brew cask install adoptopenjdk8 -v安装 Openjdk8
Mac 默认 JDK 安装的路径:

Mac 可以通过/usr/libexec/java_home来管理JAVA_HOME,具体使用如下:

查看当前安装的 JDK:

有安装就有卸载,手动安装的 JDK 可以参考 Removing Java 8 JDK from Mac
通过 Homebrew 安装的通过brew cask uninstall adoptopenjdk8 -v卸载即可
如果不采用 jenv 管理管理多版本 JDK,参考 mac配置JAVA_HOME最佳方法
3. jenv 安装及使用
执行
brew install jenv来安装 jenv添加环境变量
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
exec $SHELL -l
jenv doctor命令用来检查配置开启
export插件jenv enable-plugin export
添加 JDK
添加最新的 JDKjenv add $(/usr/libexec/java_home)
添加指定的 JDK,比如 Open JDK 8
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
通过
jenv remove命令可以删除添加过的 JDK查看所有 JDK
jenv versions
此时使用
jenv doctor命令,结果如下(一片绿就对了)

切换 JDK
jenv global用来设置全局 JDK
jenv local用来设置当前目录 JDK
jenv shell用来设置 shell session 中的 JDK每次切换 JDK 之后,执行
exec $SHELL -l或者重启终端Maven
Maven 仍然会使用/usr/libexec/java_home -v输出的 JDK,可能与当前使用的 JDK 版本不同。用jenv enable-plugin maven命令启用 Maven 插件即可
4. 参考
- Mac上的JDK多版本管理 | Coding Life
- Homebrew 安装与配置 JDK | asing1elife's blog
- macOS 的 JDK 安装问题 (Homebrew) - 质子 - 博客园
- maven ignoring jenv settings
Mac 多版本 JDK 管理的更多相关文章
- Mac下多版本JDK安装及管理
在Java项目中,经常对JDK版本有不同的要求,可是不可能为了某个项目的运行重新下载不同版本JDK进行安装,这样就涉及到对本地环境中多个JDK版本的管理. Mac的JDK都是安装到一个指定目录的:/L ...
- mac下查看jdk安装版本及安装目录
使用IntelliJ idea新建工程时需要查看jdk安装目录,记录下来为以后备用. mac自带jdk,查看jdk版本: IcarusdeMacBook-Pro:~ icarus$ java -ver ...
- MAC OS下JDK版本切换指南
刚上手的用MAC开发的小伙伴们会发现,MAC自带JDK版本为1.6,通常会安装在 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/目录下,但是更多 ...
- mac 苹果多版本jdk自由切换
场景 手头上的工具有时候依赖低版本jdk,有时候需要高版本jdk, 如何在不同版本jdk之间来回自由的切换? 安装 首选需要去官网下载dmg安装包,地址:https://www.oracle.com/ ...
- brew mac osx 上软件包管理工具
今天推荐 Mac OSX 下,方便高效的包管理工具 brew brew 的全名叫做 Homebrew 它的功能类似于 ubuntu 下同下 apt-get ,或者 Cent OS 下的 yum 等包管 ...
- MAC OX 配置JDK环境变量
大家在windows里面配置JDK环境变量很容易,但是如果要在mac里面配置JDK环境变量和windows里面有所不同,具体如下: 第一: mac OS里面自带jdk,不过是1.6的版本,现在很多人使 ...
- 适用于Mac 的自动补丁管理软件
适用于Mac 的自动补丁管理软件 ManageEngine Desktop Central 的功能越来越神奇.系统管理员现在可以使用 Desktop Central 管理异构网络.即使是最复杂的任务, ...
- mac系统 安装 JDK 并配置环境
第一步 : 下载 mac 版的 JDK 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...
- java jdk 管理工具
官网:http://www.jenv.be/ 安装: Linux / OS X $ git clone https://github.com/gcuisinier/jenv.git ~/.jenv M ...
随机推荐
- java设计模式学习笔记--开闭原则
基本介绍 1.开闭(ocp)原则时编程中最基础.最重要的设计原则 2.一个软件实体如类.木块和函数应该对扩展开放,对修改关闭.用抽象构建框架,用实现扩展细节.即对提供方开放,对使用方关闭. 3.当软件 ...
- MySQL中使用group by 是总是出现1055的错误
因为在MySQL中使用group by 是总是出现1055的错误,这就导致了必须去查看是什么原因了,查询了相关的资料,现在将笔记记录下来,以便后面可以参考使用: sql_mode:简而言之就是:它定义 ...
- 硬件知识整理part1--电阻E系列行业规范
仁者,人心也,义者,人路也. --孟子 “ E ”表示“指数间距”(Exponential Spacing) 在上个20世纪的电子管时代,电子元器件厂商为了便于元件规格的管理和选用.大规模生产的电 ...
- Java设计模式之Iterator
public interface Aggregate { //调用iterator方法生成实现Iterator接口的类的实例 public abstract Iterator iterator(); ...
- js获取时间及转化
有关Javascript的本地时间获取,下面我直接用代码来进行举例吧 let time = new Date(); let month = time.getMonth()+1; //获取的月份0~11 ...
- Spark学习之路 (十七)Spark分区[转]
分区的概念 分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个 ...
- The ADB binary found at ... 虚拟机运行错误
虚拟机问题,可以说差点扼杀我开发 APP 的乐趣,哼,最后请教了一下辉哥(学长),终于解决 —— 用真机调试.下面是步骤: 首先,检查一下真机连接需要的 SDK 是否安装,未安装,勾选进行安装 接着用 ...
- maven的核心概念——创建war工程
第十七章第四个Maven工程(war工程) 17.1 创建步骤 ①第一步:创建maven web工程 ②第二步:修改web.xml <?xml version="1.0" e ...
- Tunnel Warfare HDU - 1540
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...
- 42.MySQL数据库安装,及驱动程序选择
MySQL驱动程序安装: 我们使用Django来操作Mysql,实际上底层还是通过Python来操作的,因此我们想要使用Django来操作mysql,首先还是需要安装一个驱动程序,在Python3中, ...