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 ...
随机推荐
- js模拟post提交表单
function post(URL, PARAMS) { var temp = document.createElement("form"); ...
- 盒模型大小取决于它的padding,margin,border数值
盒模型规定了元素框处理元素内容width与height值.内边距padding.边框border 和 外边距margin 的数值大小.边框内的空白是内边距padding,边框外的空白是外边距margi ...
- Python——20200220Python123冲刺试卷 - 1
知识点:面向对象继承,数组组织,文件操作,数据类型 1.面向对象的继承:继承是指类之间共享属性和操作的性质 2.软件危机的原因不包括:软件成本不断提高 软件危机原因: 软件开发生产率低.软件过程不规范 ...
- 【原创】关于pyinstaller打包的程序执行出错问题,pyinstaller3.5只支持matplotlib3.0.2已经解决
之前,在用pyinstaller打包一个python程序时没有问题,后来不知道什么原因,再打包时出现了所谓的pyinstaller打包报错: RecursionError: maximum recur ...
- kong服务网关API
kong服务网关API pingforever关注 0.1762017.05.23 11:16:08字数 834阅读 7,367 kong简介 Kong 是在客户端和(微)服务间转发API通信的API ...
- JS隐藏显示图片
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- vue中keepalive怎么理解?---vue中文社区
vue中keepalive怎么理解? 说在前面: keep-alive是vue源码中实现的一个组件, 感兴趣的可以研究源码 https://github.com/vuejs/vue/blob/dev/ ...
- Electron – 基础学习(2): 项目打包成exe桌面应用 之electron-packager
项目创建完成,启动正常,接下来就是项目打包了.将测试Demo打包成exe桌面应用,点击exe文件,运行项目. 书接上文,创建项目有三种方式 Git拷贝.直接创建:通过electron社群提供的命令行工 ...
- 基于云开发开发 Web 应用(二):界面 UI 开发
工作量分析 在我们进行这部分开发的时候,接下来我们需要进行相应的功能安排和分类. 简单看来,我需要开发 3 个页面: 首页:首页负责用户默认访问. 列表页:列表页面则是在搜索过程中,如果有多个结果,则 ...
- LNMP+HTTPS
title: "Lnmp + Https" date: 2019-08-28T16:18:20+08:00 draft: true --- 注:我的linux的ip地址为192.1 ...