当前位置: 首页 > article >正文

macOS 安装JDK17

文章目录

    • 前言
    • 介绍
    • 新特性
    • 下载
    • 安装
      • 1.下载完成后打开downloads 双击进行安装
      • 2.配置环境变量
      • 3.测试快速切换JDK
    • 小结

前言

近期找开源软件,发现很多都已经使用JDK17+springboot3 了,之前的JDK8已经被替换下场,所以今天就在本机安装了JDK17,拥抱变化。

介绍

JDK 17 是 Java 平台标准版(Java SE)的一个功能发布版本,于2021年9月14日正式发布。

新特性

  • 移除未命名模块:JDK 17 永久移除了“未命名模块”,这是模块化系统成熟和进一步发展的体现,标志着 Java 正式从类路径时代过渡到了模块时代。开发者需要对遗留项目进行模块化处理,定义模块描述符module-info.java来明确模块之间的依赖关系。
  • 增强型switch表达式:引入了模式匹配的switch语句,允许在switch表达式中使用模式匹配,从而简化了对不同类型数据的处理。
  • 文本块:允许开发人员在Java代码中表示多行字符串文本,以三个双引号(“”")开头和结尾,为编写多行文本提供了简洁的语法。
  • 密封类:JDK 17 引入了密封类,允许开发者限制一个类或接口的继承或实现。通过使用sealed修饰符,可以指定哪些类可以继承或实现密封类,从而增强代码的封装性和安全性。
    等等…

下载

到oracle官网下载:https://www.oracle.com/java/
在这里插入图片描述
选择下载历史版本
在这里插入图片描述
选择JDK17
在这里插入图片描述
选择适配自己电脑的安装包
在这里插入图片描述
至此安装包下载完成。

安装

1.下载完成后打开downloads 双击进行安装

在这里插入图片描述
双击pkg
在这里插入图片描述
双击继续
在这里插入图片描述
一直下一步即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此JDK17安装完成。

2.配置环境变量

输入命令记录JDK的安装路径

/usr/libexec/java_home -V

在这里插入图片描述
输入命令编辑环境变量

sudo vi ~/.zshrc

添加JAVA_HOME配置,JAVA_HOME切记地址要修改成自己的

export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home"
export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
 
#多版本切换(取了别名,更方便切换)
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk17="export JAVA_HOME=$JAVA_17_HOME"
 
# 默认JDK版本
export JAVA_HOME=$JAVA_17_HOME
 
#在path中添加$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

配置如下:
在这里插入图片描述
加载环境变量

source ~/.zshrc

3.测试快速切换JDK

输入jdk8 进行验证
在这里插入图片描述

小结

至此安装JDK17完成。最后很多项目也会用OpenJDK,特附上OpenJDK地址,下载地址:https://bell-sw.com/pages/downloads/#jdk-17-lts
在这里插入图片描述


http://www.kler.cn/a/509440.html

相关文章:

  • HBASE学习(一)
  • cuda + cudnn安装
  • 【Python】随机数种子(random seed)的设置
  • npm ERR! code CERT_HAS_EXPIRED
  • HTML中如何保留字符串的空白符和换行符号的效果
  • 01.17周五F34-Day58打卡
  • 【HarmonyOS-开发指南】
  • 使用opencv.js 的时候报错 Uncaught 1022911432
  • JAVA:在IDEA引入本地jar包的方法(不读取maven目录jar包)
  • 【AcWing】蓝桥杯辅导课-递归与递推
  • 了解EJB两种主要类型:BMP与CMP
  • 【Unity】使用Canvas Group改变UI的透明度
  • QrCode.js 技术文档:二维码生成与导出工具类
  • LocalSend - 免费、开源、跨平台的局域网文件传输工具
  • leetcode206-反转链表
  • 数字化转型的新引擎:开源AI智能名片2+1链动模式S2B2C商城小程序源码的应用与实践
  • 年后找工作需要注意的事项
  • java每日精进1.17(用户登录,登出,Token相关)
  • Scala语言的编程范式
  • HTML格式
  • PCL 快速均匀采样【2025最新版】
  • 【C++基础】enum,union,uint8_t,static
  • Java集合 - LinkedHashMap
  • Java复习第二天
  • mongoose 支持https踩坑纪实
  • Spring Boot 整合 Knife4j:打造更优雅的 API 文档