macOS 安装JDK17

news/2025/2/13 4:36:59/

文章目录

    • 前言
    • 介绍
    • 新特性
    • 下载
    • 安装
      • 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.ppmy.cn/news/1564901.html

相关文章

出海工具集

群聊分享的一个工具集合,看了几个,感觉有点子用,收藏一波,下面有GitHub的地址;吃水不忘挖井人; GitHub地址 📚 分类 目录导航 Web 开发框架或模板Chrome 插件开发前端开发后端开发数据库管理对…

gesp(C++五级)(12)洛谷:B4051:[GESP202409 五级] 小杨的武器

gesp(C五级)(12)洛谷:B4051:[GESP202409 五级] 小杨的武器 题目描述 小杨有 n n n 种不同的武器,他对第 i i i 种武器的初始熟练度为 c i c_i ci​。 小杨会依次参加 m m m 场战斗,每场战斗小杨只能且…

k8s的CICD实施项目

环境需求: 目前领导需要做一个需求,临时把我从运维岗位,把我调度到到专家组让我主导cicd的项目实施 目前环境资源 k8s环境,28台服务器,上面是k8s集群,要实施一个测试环境的cicd以及一个生产环境的cicd gitl…

Node.js 完全教程:从入门到精通

Node.js 完全教程:从入门到精通 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,允许开发者在服务器端使用 JavaScript。它的非阻塞 I/O 和事件驱动架构使得 Node.js 非常适合于构建高性能的网络应用。本文将详细介绍 Node.js 的安装、基本语…

web3.0 开发实践

优质博文:IT-BLOG-CN 一、简介 Web3.0也称为去中心化网络,是对互联网未来演进的一种概念性描述。它代表着对现有互联网的下一代版本的设想和期望。Web3.0的目标是通过整合区块链技术、分布式系统和加密技术等新兴技术,构建一个更加去中心化…

24V过压保护、反接保护电路分享

电路图如上图所示。 1、防反接电路详解 防反接电路采用N沟道MOS管来实现,DZ17的作用是将G级电压钳位到9.1V,防止烧毁MOS换。 当电源连接正常是电流方向如下图,MOS管G极电压为9.1V,N沟道MOS打开,电流从S极正常流过到电…

三维扫描赋能文化:蔡司3D扫描仪让木质文化遗产焕发新生-沪敖3D

挪威文化历史博物馆在其修复工作中融入现代3D扫描技术,让数百年的历史焕发新生。 文化历史博物馆的工作 文化历史博物馆是奥斯陆大学的一个院系。凭借其在文化历史管理、研究和传播方面的丰富专业知识,该博物馆被誉为挪威博物馆研究领域的领先机构。馆…

实现二叉树_堆

一. 堆的实现 在上一节中我们知道了堆的数据结构,其实就是一种特殊的完全二叉树,堆的底层数据结构就是数组,所以我们就可以定义堆的结构: //定义堆的结构--数组 typedef int HPDataType; typedef struct Heap {HPDataType* arr;…