MacOS安装多个版本JDK

不同java项目对JDK版本依赖不同,如何在一个开发环境安装多个版本JDK?如何实现快速切换JDK版本?

安装

下载多个版本JDK进行安装:https://www.oracle.com/java/technologies/downloads/

sh 复制代码
# 查看已安装JDK:
$ /usr/libexec/java_home -V

# 或通过查看 /Library/Java/JavaVirtualMachines 目录下存在对应多个版本JDK
$ ls /Library/Java/JavaVirtualMachines
# 输出:jdk-17.jdk jdk-19.jdk

配置

编辑 ~/.bash_profile 或者 ~/.zshrc(如果之前配置过 JAVA_HOME 配置记得删除)

sh 复制代码
# Java config
export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
export JAVA_19_HOME="/Library/Java/JavaVirtualMachines/jdk-19.jdk/Contents/Home"

# config alias
alias jdk17="export JAVA_HOME=$JAVA_17_HOME"
alias jdk19="export JAVA_HOME=$JAVA_19_HOME"

# config default jdk
export JAVA_HOME=$JAVA_19_HOME
export PATH="$JAVA_HOME:$PATH"

保存生效配置信息

sh 复制代码
$ source ~/.bash_profile

# ~/.zshrc 对应
$ source ~/.zshrc

使用

sh 复制代码
# 查看默认版本
$ java -version
java version "19.0.1" 2022-10-18
Java(TM) SE Runtime Environment (build 19.0.1+10-21)
Java HotSpot(TM) 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)

# 切换成 JDK17 版本
$ jdk17
$ java -version
java version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)
相关推荐
日月云棠4 小时前
各版本JDK对比:JDK 25 特性详解
java
用户8307196840824 小时前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide5 小时前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家5 小时前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺5 小时前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java
用户908324602735 小时前
Spring Boot + MyBatis-Plus 多租户实战:从数据隔离到权限控制的完整方案
java·后端
桦说编程6 小时前
实战分析 ConcurrentHashMap.computeIfAbsent 的锁冲突问题
java·后端·性能优化
程序员清风10 小时前
用了三年AI,我总结出高效使用AI的3个习惯!
java·后端·面试
beata11 小时前
Java基础-13: Java反射机制详解:原理、使用与实战示例
java·后端
用户03321266636711 小时前
Java 使用 Spire.Presentation 在 PowerPoint 中添加或删除表格行与列
java