网站首页 > 技术文章 正文
macOS版Java21下载
- 访问Java的官网,其访问地址是https://www.oracle.com/java/
- 点击右上角的Download Java,跳转到Java的下载界面
Java的下载地址是https://www.oracle.com/java/technologies/downloads/
目前(2024/10/03)Oracle官方提供最新可用的Java版本(JDK版本)是Java22、Java21 和Java17,最新的LTS版本是Java21
本次我们下载的是Java21,所以点击JDK21 切换到Java21的下载
根据 Oracle 免费条款和条件 (NFTC),JDK 21 二进制文件可以在生产中免费使用,并且可以免费重新分发。
JDK 21 将根据 NFTC 接收更新,直到 2026 年 9 月,即下一个 LTS 发布一年后。后续的 JDK 21 更新将根据 Java SE OTN 许可证 (OTN) 进行许可,并且超出 OTN 许可证有限免费授予的生产使用将需要付费。
目前Java21支持三个操作系统
- Linux
- macOS
- Windows
大家在下载Java21的时候需要根据自己所使用CPU和操作系统的版本选择对应版本的Java21
macOS Sonoma可以点击左上角的苹果菜单
在弹出的面板中查看系统版本信息
目前本机使用的系统是macOS Sequoia 15.0,芯片是M1 Max
- 根据CPU架构和系统版本选择Java21
如果你的Mac电脑使用的Intel CPU,那么选择macOS版 x64 DMG Installer的jdk-21_macos-x64_bin.dmg
如果你的电脑使用的是Apple CPU,例如M1 Max,M1 Ultra,M2 Max,M2 Ultra,M3 Max等等,那么选择macOS版ARM64 DMG Installer的jdk-21_macos-aarch64_bin.dmg
由于本机使用的是Apple M1 Max CPU,因此选择macOS版ARM64 DMG Installer的jdk-21_macos-aarch64_bin.dmg
- 下载jdk-21_macos-aarch64_bin.dmg
下载Oracle ARM架构 64位macOS版Java21时目前不需要同意许可协议以及注册、登录Oracle账号
点击https://download.oracle.com/java/21/latest/jdk-21_macos-aarch64_bin.dmg下载Oracle ARM64位架构macOS版Java21
使用快捷键 Option+Command+L 可以打开下载内容,查看下载的速度以及所需的时间
当Java21下载完成后,点击在Finder中显示
默认在下载目录(/Users/liuguanglei/Downloads)下会看到Java21的安装包jdk-21_macos-aarch64_bin.dmg
macOS版Java21安装
1 macOS版Java21安装过程
- 双击Java21安装包jdk-21_macos-aarch64_bin.dmg
- 双击JDK 21.0.4.pkg启动安装器
- 介绍
点击继续
- 目的宗卷
你要如何安装此软件?默认选择为这台电脑上的所有用户安装
选择一个目的宗卷:为这台电脑上的所有用户安装,点击继续
- 安装类型
默认选择标准安装,点击安装即可
安装之前安装器会提示 "安装器"正在尝试安装新软件 使用触控ID或输入密码以允许此次操作
输入密码或者使用TouchID后安装器就会开始安装,安装过程几秒钟就可以完成
- 安装完成
安装完成后可以点击访问JavaSE文档和关闭
- 访问JavaSE文档:跳转到Java21的官方文档
- 关闭:关闭安装向导,完成Java21安装
关闭安装向导时还会提示你要将“JDK 21.0.4”安装器移到废纸篓吗?,建议点击保留,这样下次重装时不需要重新下载Java21
- 推出桌面的JDK 21.0.4
选中桌面的JDK 21.0.4,然后右键推出即可,当然也可以使用快捷键Command+E推出
推出成功
2 macOS版Java21安装目录
默认情况下Oracle ARM64位架构macOS版Java21安装目录是/Library/Java/JavaVirtualMachines/jdk-21.jdk
依次点击访达>前往>前往文件夹,快捷键是Shift+Command+G
输入路径/Library/Java/JavaVirtualMachines/jdk-21.jdk后回车
不过我们需要了解的是/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home目录
Java21 Home目录说明
目录 | 说明 |
bin | 该目录下主要存放JDK的各种工具命令,例如javac和java |
conf | 该目录下主要存放JDK相关的配置文件 |
include | 该目录下主要存放一些平台的头文件 |
jmods | 该目录下主要存放JDK的各种模块 |
legal | 该目录下主要存放JDK各模块的授权文档 |
lib | 该目录下主要存放JDK工具的一些补充jar包和源代码,Java源码src.zip在该目录下 |
man | 该目录下主要是存放JDK的帮助文档 |
作为Java初学者来说,目前只需要关注bin目录和lib文件夹中的src.zip压缩文件
- bin目录:存放Java提供的开发工具,例如javac,java,javadoc,javap等等
- src.zip:存放Java源代码文件(.java结尾的文件)
可以双击src.zip解压后查看,默认解压在下载目录
src目录存放的是Java源代码文件(.java结尾)
例如查看String.java
String.java源文件在src/java.base/java/lang目录下
然后选择src/java.base/java/lang/String.java
使用Visual Studio Code文本编辑器打开String.java
macOS版Java21配置
1 macOS版Java21配置说明
当Oracle ARM64位架构macOS版Java21安装完成后,你会发现没有配置PATH环境变量,也可以在终端的任意路径下使用javac和java,例如javac和java通过 -version选项查看Java编译器和解释器的版本信息
没有配置JAVA_HOME环境变量,也可以在终端的maven bin目录(/Users/liuguanglei/workspace/soft/java/apache-maven-3.9.9/bin)下使用maven命令 mvn --version查看Maven版本信息以及依赖的Java环境信息,其中./表示当前路径
Q:这样是不是意味着不需要配置Java21的PATH环境变量和JAVA_HOME环境变量?
A:依然需要配置,因为后期我们会使用多个不同版本的JDK,例如在公司开发项目时使用Java8,而学习Java新特性时使用Java17或者Java21,那么就会有切换Java版本的需求,因此还需要配置Java21的PATH环境变量和JAVA_HOME环境变量。
2 macOS版Java21配置JAVA_HOME环境变量
JAVA_HOME指的就是Java21的Home目录(/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home)
配置JAVA_HOME环境变量的目的就是方便配置Java的PATH环境变量以及通过修改JAVA_HOME环境变量实现在终端上切换不同版本的Java,例如Java8和Java17的相互切换,Java17和Java21的相互切换。
- 启动Visual Studio Code
- 打开/Users/liuguanglei目录
- 创建配置文件
macOS Sequoia使用的Shell是zsh,因此在家目录(/Users/liuguanglei)下创建.zshrc配置文件
在文件资源管理器右键New File
设置文件名为.zshrc后回车
Visual Studio Code会自动打开.zshrc配置文件
- 编辑.zshrc配置文件
在.zshrc文件中配置Oracle ARM64位架构macOS版Java21的JAVA_HOME环境变量
# 配置Oracle ARM64位架构macOS版Java21的JAVA_HOME环境变量
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
- 打开终端
依次点击Visual Studio Code菜单栏的Terminal>New Terminal
就可以启动Visual Studio Code内置的终端
- 验证配置
在终端上输入 echo $JAVA_HOME命令回车
如果能够输出Java21的Home目录(/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home),则表示Java21的JAVA_HOME环境变量配置成功
3 macOS版Java21配置PATH环境变量
3.1 PATH环境变量介绍
PATH环境变量的本质就是一系列路径,例如/bin,/usr/bin,/usr/local/bin等等,多个路径之间使用冒号(:)隔开,macOS下可以在终端上使用echo $PATH查看系统PATH环境变量
PATH环境变量的作用就是在终端上执行命令时,系统会从当前路径和PATH环境变量配置的路径下查找命令对应的可执行程序,然后执行该程序。
例如date命令可以查看系统日期,而where date 可以查看到date命令对应的可执行程序路径,正因为/bin目录在PATH环境变量中,因此在终端输入date命令实际上执行的是/bin目录下的date程序
如果输入一个不存在的命令,那么shell会提示command not found,因为在PATH环境变量对应的路径下找不到一个名为datexxx的命令(程序)
3.2 PATH环境变量的使用
需求:实现在macOS终端(例如内置终端和第三方终端iTerm)的任意路径下输入DingTalk就可以启动钉钉
此次测试的钉钉版本为Version 7.6.16 (40472149)
- 找到钉钉安装目录
macOS系统中所有的软件都安装在访达的应用程序
选择钉钉,右键 显示包内容
此时会打开Contents目录
而在Contents/MacOS下刚好有个DingTalk,它是一个Unix可执行文件
只要将它所在的路径(/Applications/DingTalk.app/Contents/MacOS)配置在PATH环境变量中即可实现在终端的任意路径下输入DingTalk就可以启动钉钉
- 启动Visual Studio Code
- 打开/Users/liuguanglei目录
- 打开.zshrc配置文件
打开后可以看到Java21的JAVA_HOME环境变量的配置
- 编辑.zshrc配置文件
配置钉钉的PATH环境变量
# 配置钉钉的PATH环境变量
export PATH=$PATH:/Applications/DingTalk.app/Contents/MacOS
- 打开终端
依次点击Visual Studio Code菜单栏的New Terminal>New Terminal
就可以启动Visual Studio Code内置的终端
- 验证配置
在终端的任意路径下执行echo $PATH查看系统PATH环境变量
如果系统PATH环境变量中是否已经包含钉钉的PATH环境变量配置则表示钉钉的PATH环境变量配置成功
- 启动钉钉
在终端的任意路径输入钉钉回车后看是否能够启动成功
如果能够启动则表示钉钉的PATH环境变量配置成功
- 在用户家目录下启动钉钉
- 在根目录启动钉钉
3.3 macOS版Java21配置PATH环境变量
- 启动Visual Studio Code
- 打开/Users/liuguanglei目录
- 打开.zshrc配置文件
打开后可以看到Java21的JAVA_HOME环境变量以及钉钉的PATH环境变量配置
- 编辑.zshrc配置文件
在.zshrc配置文件配置Oracle ARM64位架构macOS版Java21的PATH环境变量
# 配置Oracle ARM64位架构macOS版Java21的PATH环境变量
export PATH=$PATH:/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin
- 打开终端
依次点击Visual Studio Code菜单栏的New Terminal>New Terminal
就可以启动Visual Studio Code内置的终端
- 验证配置
首先在终端的任意路径下执行echo $PATH查看系统PATH环境变量,如果系统PATH环境变量中包含Java21的PATH环境变量则表示Java21的PATH环境变量配置成功
然后在终端的任意路径使用Java提供的javac和java结合-version选项查看Java编译器和解释器的版本信息应该为Java21
3.4 macOS版Java21使用JAVA_HOME配置PATH环境变量
Q:为什么Java21要使用JAVA_HOME配置Path环境变量
A:切换JDK版本时只需要修改JAVA_HOME环境变量的变量值即可
- 启动Visual Studio Code
- 打开/Users/liuguanglei目录
- 打开.zshrc配置文件
打开后可以看到Java21的JAVA_HOME环境变量、PATH环境变量以及钉钉的PATH环境变量配置
- 编辑.zshrc配置文件
在.zshrc配置文件使用JAVA_HOME环境变量配置Oracle ARM64位架构macOS版Java21的PATH环境变量
# 使用JAVA_HOME环境变量配置Oracle ARM64位架构macOS版Java21的PATH环境变量
export PATH=$PATH:$JAVA_HOME/bin
- 打开终端
依次点击Visual Studio Code菜单栏的New Terminal>New Terminal
就可以启动Visual Studio Code内置的终端
- 验证配置
首先在终端的任意路径下执行echo $PATH查看系统PATH环境变量,如果系统PATH环境变量中包含Java21的PATH环境变量则表示Java21的PATH环境变量配置成功
然后在终端的任意路径使用Java提供的javac和java结合-version选项查看Java编译器和解释器的版本信息应该为Java21
macOS版Java21和Java17相互切换
1 如何实现macOS版Java21和Java17相互切换
由于开发项目时使用Java17,但是学习JDK新特性时安装了Java21,因此此时电脑上同时存在两个不同版本的JDK,分别是Oracle ARM64位架构macOS版本的Java17和Java21。
那么如何在这两个版本中间切换?
首先需要知道当前使用的Java版本
在终端的任意路径通过javac -version和java -version得知目前使用的是Java21
Q:为什么是Java21?
A:因为在.zshrc配置文件中JAVA_HOME环境变量的值是Java21的Home目录(/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home),而Java的PATH环境变量引用了JAVA_HOME环境变量
那么想要实现Java17和Java21相互切换,只需要修改JAVA_HOME环境变量的值即可
2 macOS版Java21切换到Java17
想要从Java21切换到Java17,只需要将JAVA_HOME环境变量的值修改成Java17的Home路径(/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home)
- 启动Visual Studio Code
- 打开/Users/liuguanglei目录
- 打开.zshrc配置文件
打开后可以看到Java21的JAVA_HOME环境变量、PATH环境变量以及钉钉的PATH环境变量配置
- 编辑.zshrc配置文件
在.zshrc配置文件配置Oracle ARM64位架构macOS版Java17的PATH环境变量
# 配置Oracle ARM64位架构macOS版Java17的JAVA_HOME环境变量
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
# 配置钉钉的PATH环境变量
export PATH=$PATH:/Applications/DingTalk.app/Contents/MacOS
# 使用JAVA_HOME环境变量配置Oracle ARM64位架构macOS版Java17的PATH环境变量
export PATH=$PATH:$JAVA_HOME/bin
- 启动终端
依次点击Visual Studio Code菜单栏的New Terminal>New Terminal
就可以启动Visual Studio Code内置的终端
- 验证配置
首先在终端的任意路径输入echo $JAVA_HOME,查看JAVA_HOME环境变量的变量值是否为Java17的Home目录
然后在终端的任意路径使用Java提供的javac和java命令结合-version选项查看Java编译器和解释器的版本信息是否为Java17,如果是Java17则表示当前Java版本成功从Java21切换到Java17
3 macOS版Java17切换到Java21
从Java17再次切换到Java21,只需要将JAVA_HOME环境变量的变量值改成Java21的Home目录(/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home )
- 启动Visual Studio Code
- 打开/Users/liuguanglei目录
- 打开.zshrc配置文件
打开后可以看到Java17的JAVA_HOME环境变量、PATH环境变量以及钉钉的PATH环境变量配置
- 编辑.zshrc配置文件
在.zshrc配置文件配置Oracle ARM64位架构macOS版Java21的PATH环境变量
# 配置Oracle ARM64位架构macOS版Java21的JAVA_HOME环境变量
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
# 配置钉钉的PATH环境变量
export PATH=$PATH:/Applications/DingTalk.app/Contents/MacOS
# 使用JAVA_HOME环境变量配置Oracle ARM64位架构macOS版Java21的PATH环境变量
export PATH=$PATH:$JAVA_HOME/bin
- 启动终端
依次点击Visual Studio Code菜单栏的New Terminal>New Terminal
就可以启动Visual Studio Code内置的终端
- 验证配置
首先在终端的任意路径输入echo $JAVA_HOME,查看JAVA_HOME环境变量的变量值是否为Java21的Home目录
然后在终端的任意路径使用Java提供的javac和java命令结合-version选项查看Java编译器和解释器的版本信息是否为Java21,
如果是Java21则表示当前Java版本成功从Java17切换到Java21
macOS版Java21卸载
Q:什么时候需要卸载Java21
A:如果不再使用(例如公司未来的项目全部使用Java25开发)Java21时就可以将其卸载
Oracle ARM64位架构macOS版Java21卸载需要删除Java21安装目录
除此以外还要删除.zshrc配置文件,.zshrc配置文件配置了Java21的PATH环境变量和JAVA_HOME环境变量
1 删除Java21安装目录
Oracle ARM64位架构macOS版Java21的安装目录是/Library/Java/JavaVirtualMachines/jdk-21.jdk
选中jdk-21.jdk,右键移到废纸篓,删除Java21的安装目录
然后使用Touch ID或者使用密码
这样就可以将Java21的安装目录移动到废纸篓
使用command+Shift+delete清空废纸篓
删除成功后JavaVirtualMachines目录下看不到Java21的安装目录
2 删除配置文件
- 启动Visual Studio Code
- 打开/Users/liuguanglei目录
- 删除.zshrc配置文件
选择.zshrc配置文件,右键选择Delete
3 验证Java21是否卸载成功
删除Java21安装目录以及.zshrc文件后,在终端的任意路径使用javac -version和java -version查看Java编译器和Java解释器版本信息
如果提示The operation couldn’t be completed. Unable to locate a Java Runtime.Please visit http://www.java.comfor information on installing Java. 表示Java21卸载成功
猜你喜欢
- 2025-07-23 跨境综合业务LB000002资金账户设计
- 2025-07-23 Java Spring应用部署在单台阿里云或腾讯云Windows服务器上
- 2025-07-23 正点原子I.MX6U嵌入式Linux C应用编程:第一章《应用编程概念》
- 2025-07-23 Windows电脑安装JDK多环境(JDK8、JDK11、JDK17)
- 2024-10-26 超详细!JDK 8 下载、安装和环境配置
- 2024-10-26 JDK下载安装与环境变量的配置 jdk1.8安装与环境变量配置
- 2024-10-26 oracle数据库基础学习 oracle数据库基础与应用教程
- 2024-10-26 「Linux学习」账号管理 linux系统账户
- 2024-10-26 Oracle被爆高危漏洞,攻击者可劫持用户账户
- 2024-10-26 什么?你在物理机上安装Oracle总失败?那就试试Docker吧
你 发表评论:
欢迎- 633℃几个Oracle空值处理函数 oracle处理null值的函数
- 626℃Oracle分析函数之Lag和Lead()使用
- 614℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 608℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 606℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 598℃【数据统计分析】详解Oracle分组函数之CUBE
- 588℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 572℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- oracle 19cOCM认证有哪些内容(oracle认证ocm月薪)
- Oracle新出AI课程认证,转型要持续学习
- oracle 表的查询join顺序,可能会影响查询效率
- Oracle DatabaseAmazon Web Services正式可用,Oracle数据库上云更容易了
- Oracle 19.28 RU 升级最佳实践指南
- 汉得信息:发布EBS系统安装启用JWS的高效解决方案
- 如何主导设计一个亿级高并发系统架构-数据存储架构(三)
- Java 后端开发必看!工厂设计模式轻松拿捏
- ORA-00600 「25027」 「x」报错(抱错孩子电视剧 爸爸是武术 另一个爸爸是画家)
- 新项目终于用上了jdk24(jdk新建项目)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)