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)
相关推荐
叫致寒吧41 分钟前
Tomcat详解
java·tomcat
同学小张2 小时前
【端侧AI 与 C++】1. llama.cpp源码编译与本地运行
开发语言·c++·aigc·llama·agi·ai-native
踢球的打工仔3 小时前
PHP面向对象(7)
android·开发语言·php
S***26755 小时前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
汤姆yu5 小时前
基于python的外卖配送及数据分析系统
开发语言·python·外卖分析
Yue丶越5 小时前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
马剑威(威哥爱编程)5 小时前
鸿蒙6开发视频播放器的屏幕方向适配问题
java·音视频·harmonyos
JIngJaneIL5 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
翔云 OCR API5 小时前
人脸识别API开发者对接代码示例
开发语言·人工智能·python·计算机视觉·ocr
V***u4536 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言