Mac 多版本jdk安装与切换

news2025/1/4 17:21:53

macOS上可以安装多个版本的jdk,方法如下:

1.下载jdk

在Oracle官网上下载不同版本的jdk:

        JDK下载 知乎 - 安全中心 

下载Java11版本链接

        jdk11​www.oracle.com/java/technologies/javase-jdk11-downloads.html

2.安装jdk

运行此安装包,进行安装。安装后会发现jdk被分别安装在如下目录:

/Library/Java/JavaVirtualMachines/jdk1.8.0_192.jdk
/Users/Kevin/development/tools/jdk-11.0.16.1.jdk
/Users/Kevin/development/tools/jdk-17.0.4.1.jdk

3.配置jdk

        现在已经安装了3个版本的jdk,但是怎么确定当前生效的是哪个版本呢?或者说怎么切换这两个版本呢?配置方法如下:

如果当前使用的shell是zsh就编辑.zshrc文件,如果是bash就编辑.bash_profile文件。

在上述配置文件中添加如下配置:

JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk1.8.0_192.jdk/Contents/Home
JAVA_HOME_11=/Users/Kevin/development/tools/jdk-11.0.16.1.jdk/Contents/Home
JAVA_HOME_17=/Users/Kevin/development/tools/jdk-17.0.4.1.jdk/Contents/Home
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME=$JAVA_HOME_8
export JRE_HOME
export PATH
export CLASSPATH
 
alias jdk8="export JAVA_HOME=$JAVA_HOME_8"
alias jdk11="export JAVA_HOME=$JAVA_HOME_11"
alias jdk17="export JAVA_HOME=$JAVA_HOME_17"

然后执行一下此rc文件,终端中执行命令:

source ~/.bash_profile 或者 source ~/.zshrc

4.切换jdk

我们定义了别名:jdk8和jdk11和jdk17。

默认配置的是jdk8

如果要切换jdk11,则在终端中执行命令:jdk11。如果要切换回jdk8,则执行命令:jdk8。

如果要切换jdk17,则在终端中执行命令:jdk17。如果要切换回jdk8,则执行命令:jdk8。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/656230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

electron-vue 安装 sqlite3 详细步骤

1 安装 Visual Studio 2019 使用 Visual Studio instaler 安装Visual Studio 2019, 安装桌面应用 使用c的桌面开发, 勾选 MSVC 相应的选项。 2. 安装 node 13 版本 可以根据自己实际情况安装版本 使用 cmd 管理员身份或者 powerShell 管理员身份 执行以下命令&…

骨传导蓝牙立体声耳机怎么选,列举几款值得购买的骨传导耳机

骨传导耳机的出现,使得很多人摆脱了佩戴入耳式耳机的困扰,同时也为骨传导耳机的发展起到了很大的推动作用。骨传导耳机是一种通过骨头传声的耳机,由于其不需要入耳,所以不会因为长时间佩戴而引起耳道的不适感,在使用时…

baichuan-7B: 开源可商用支持中英文的最好大模型

背景 baichuan-7B 是由百川智能开发的一个开源可商用的大规模预训练语言模型。 基于 Transformer 结构,在大约1.2万亿 tokens 上训练的70亿参数模型,支持中英双语,上下文窗口长度为4096。 在标准的中文和英文权威 benchmark(C-…

【FreeRTOS】——列表与列表项列表相关API函数(初始化、插入、移除)

目录 前言: 一、列表与列表项 二、列表相关API函数 ①初始化列表vListInitialise() ②初始化列表项vListInitialise() ③列表插入列表项(升序)函数vListInsert() ④列表插入列表项(无序)函数vListInsertEnd() …

开源赋能 普惠未来——回顾全球数字经济大会及开放原子全球开源峰会(Intel专题)

一、峰会背景 2023年6月11日至13日,中国北京迎来了一场全球数字经济大会和开放原子全球开源峰会的盛会。这次大会在北京北人亦创国际会展中心隆重举行,为来自世界各地的数字经济和开源社区的代表们提供了一个共同交流、合作的平台。 本次大会以"开…

GAMES101笔记 Lecture02 线性代数基础

目录 A Swift and Brutal Introduction to Linear AlgebraGarphics Dependencies(图形学的依赖)Basic mathematics(基础的数学)Basic physics(基础的物理)Misc(杂项)And a bit of asethetics(以及一点美学) Vectors(向量)Vector Normalization(向量归一化)Vector Addition(向量…

记录好项目D7

记录好项目 你好呀,这里是我专门记录一下从某些地方收集起来的项目,对项目修改,进行添砖加瓦,变成自己的闪亮项目。修修补补也可以成为毕设哦 本次的项目是个酒店预订管理系统 技术栈:springbootjavamysqlmybatis …

从0到1学会在Linux中部署SpringBoot+Vue前后端分离项目

1.打包Vue前端项目 使用npm run build命令打包前端项目 前端项目会 打包到dist文件夹中 2.打包SpringBoot后端项目 点击生命周期的package命令,对后端项目进行打包 target目录下的renren-fast.jar就是刚刚打包的后端项目 后端打包项目有一个小技巧,就…

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)一:项目规划及初始化

一、项目内容 使用vue3+Layui实现通用管理系统前端,使用vue3+layui搭建系统UI界面,使用nodejs搭建模拟web服务器,使用echarts实现系统可视化模块,可以此项目为基础进行扩展开发,快速搭建管理系统,具体内容如下:   1. 常见功能实现: 实现用户登录(用户名密码登录、手…

【c语言】 -- 详解数组篇

📕博主介绍:目前大一正在学习c语言,数据结构,计算机网络。 c语言学习,是为了更好的学习其他的编程语言,C语言是母体语言,是人机交互接近底层的桥梁。 本章来学习数据的存储。 让我们开启c语言学…

XSS测试-业务安全测试实操(11)

XSS测试 测试原理和方法 跨站脚本漏洞是Web应用程序在将数据输出到网页的时候存在问题,导致恶意攻击者可以往Web页面里插入恶意JavaScript、HTML代码,并将构造的恶意数据显示在页面的漏洞中。攻击者一般利用此漏洞窃取或操纵客户会话和 Cookie,用于模仿合法用户,从而使攻击…

CVE-2010-2883-PDF漏洞提权复现过程

第二步,打开Kali Linux渗透机使用命令msfconsole进入Metasploit渗透测试平台,使用模块adobe_cooltype_sing生成木马文件。 输入search adobe_cooltype_sing命令搜索Adobe渗透模块 与漏洞相关的模块有两个,编号为0的模块是使用本地的服务器挂…

项目实战:防刷

你好,我是田哥 最近在搞充电桩项目,用户使用短信验证码形式进行注册和登录,那么问题来了? 分布式微服务项目实战:充电桩项目 实战分布式事务【SeataSpring Cloud】 项目实战:自定义异常和统一参数验证&…

lazarus开发:快速读写excel文件的神奇控件——FPSpreadsheet

目录 1 简介 2 用wps制作一个简单的工资表 3 编译一下自带的演示程序 1 简介 FPSpreadsheet是一个功能强大的控件库,用于读取和写入电子表格文件。使用该控件库开发的软件,能够在不安装电子表格应用程序的情况下,快速读出、写入电子表格文…

详解Hystrix

目录 1.微服务中的容错 1.1.服务雪崩 1.2.解决办法 2.hystrix 2.1.概述 2.2.项目结构及依赖 2.3.代码示例 2.3.1.注册中心 2.3.2.服务调用者 2.3.3.服务提供者 2.4.服务降级 2.4.1.单点响应 2.4.2.默认响应 2.4.3.前置响应 2.5.服务熔断 2.5.1.概述 2.5.2.使用…

【C语言复习】第一篇、关于我的C语言的复习路线

目录 第一部分、前言 第二部分、学习视频 第三部分、我的建议 第一部分、前言 首先想谈一下为啥都读研究生的我还在学习C语言😂,说起来我认为挺搞笑的,一句话解释就是:本科上课的时候,耳朵打苍蝇去,哈哈。…

面向快速反应的工程团队--QRF团队模型

很多团队都纠结于产品业务需求和各种不断插入的中断请求而无法自拔,这篇文章介绍了QRF团队模型,将产品业务开发和紧急响应团队区分开,为重要而紧急的事情提供单独的处理通道,从而帮助团队能够聚焦在重要的事情上。原文&#xff1a…

Nucleo-F411RE (STM32F411)LL库体验 7 - 低功耗(睡眠、待机)

Nucleo-F411RE (STM32F411)LL库体验 7 - 低功耗(睡眠) 1、简述 F411有三种模式 Sleep mode、stop mode 、standby mode。 其中SleepMode 、Stop Mode 可选择WFI 以及WFE,两者的区别在于,前者任何中断都能…

编译原理笔记(哈工大编译原理)

文章目录 前言概论语言与文法基本概念字母表串字母表与串的联系 文法语言推导和规约句型与句子语言与字母表 文法的分类 前言 说实话,我不是很想上这门课,确实没什么大用,虽然我觉得这门课学一学也挺好,但是我觉得弄8个大实验就真…