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 ...
随机推荐
- Python 实现转堆排序算法原理及时间复杂度(多图解释)
原创文章出自公众号:「码农富哥」,欢迎转载和关注,如转载请注明出处! 堆基本概念 堆排序是一个很重要的排序算法,它是高效率的排序算法,复杂度是O(nlogn),堆排序不仅是面试进场考的重点,而且在很多 ...
- 前端项目引入Echarts中的dataTool的正确方式
使用echarts画箱线图时调用echarts.dataTool.prepareBoxplotData() 报错:"echarts.dataTool.prepareBoxplotData i ...
- UnsupportedClassVersionError : 不支持的类版本错误
UnsupportedClassVersionError : 不支持的类版本错误 listenerStart配置类的应用程序侦听器时出错 listenerStart Error configuring ...
- C#建立自己的测试用例系统
引言 很多时候,需要对类中的方法进行一些测试,来判断是否能按要求输出预期的结果. C#提供了快速创建单元测试的方法,但单元测试不仅速度慢不方便,大量的单元测试还会拖慢项目的启动速度. 所以决定自己搞个 ...
- 127.0.0.1 拒绝了我们的连接请求--访问本地IP时显示拒绝访问
问题描述 今天在访问http://127.0.0.1时,浏览器显示"127.0.0.1 拒绝了我们的连接请求",需要设置浏览器设置 解决方法 1.打开控制面板,搜索"程序 ...
- Python——20200220Python123冲刺试卷 - 1
知识点:面向对象继承,数组组织,文件操作,数据类型 1.面向对象的继承:继承是指类之间共享属性和操作的性质 2.软件危机的原因不包括:软件成本不断提高 软件危机原因: 软件开发生产率低.软件过程不规范 ...
- 【架构篇】ASP.NET Core 基于 Consul 动态配置热更新
背景 通常,.Net 应用程序中的配置存储在配置文件中,例如 App.config.Web.config 或 appsettings.json.从 ASP.Net Core 开始,出现了一个新的可扩展 ...
- Android一个简单的自定义对话框制作
布局文件 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android= ...
- maven的核心概念——聚合
第十六章聚合 16.1 为什么要使用聚合 将多个工程拆分为模块后,需要手动逐个安装到仓库后依赖才能够生效.修改源码后也需要逐个手动进行clean操作.而使用了聚合之后就可以批量进行Maven工程的安装 ...
- AT1219 歴史の研究[回滚莫队学习笔记]
回滚莫队例题. 这题的意思大概是 设 \(cnt_i\) 为 l ~ r 这个区间 \(i\) 出现的次数 求\(m\) 次询问 求 l~r 的 max {\(a_i\) * \(cnt_i\)} \ ...