【Java开发工具】windows和mac多版本JDK 安装指南:让你在开发中轻松应对不同版本需求

解决思路

通过动态修改JDK环境变量中的JAVA_HOME 将值改成相应的JDK安装目录,来达到在同一电脑中安装不同版本jdk的效果。

windows系统

安装的jdk目录
在这里插入图片描述

右键→属性→高级系统设置→高级→环境变量→系统变量。

  1. 新建4个系统变 量变量值,变量名分别为:
    在这里插入图片描述
    JAVA_HOME       %JAVA17_HOME%
    JAVA8_HOME        E:\Java\jdk1.8.0_271
    JAVA17_HOME       E:\Java\jdk-17.0.5
    CLASSPATH         .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
    
  2. 编辑PATH系统变量,新增“%JAVA_HOME%\bin
    在这里插入图片描述

切换版本

  • 做完上述环境变量配置,保存退出后,打开cmd验证 jdk版本
    在这里插入图片描述

  • 若要使用 JDK8,只需修改变量JAVA_HOME的值为%JAVA8_HOME% 即可
    在这里插入图片描述
    在这里插入图片描述

Mac系统

打开终端窗口,执行如下命令查看我们安装的 JDK 版本

#访问 JDK 安装目录
cd /Library/Java/JavaVirtualMachines

查看安装的 JDK 版本

ls -al

查询信息如下:


woniu@MacBook-Pro ~ % cd /Library/Java/JavaVirtualMachines
woniu@MacBook-Pro JavaVirtualMachines % ls -al
total 0
drwxr-xr-x  5 root  wheel  160  2 17 15:43 .
drwxr-xr-x  4 root  wheel  128  8 16  2022 ..
drwxr-xr-x  3 root  wheel   96  2 17 15:43 jdk-11.0.16.jdk
drwxr-xr-x  3 root  wheel   96  8 16  2022 jdk1.8.0_192.jdk
drwxr-xr-x  3 root  wheel   96  8 19  2022 jdk1.8.0_281.jdk

环境变量配置

#打开环境变量配置文件
vim ~/.bash_profile

配置 JDK 多版本环境变量

#JAVA_HOME 替换为自己目录
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
export JAVA_11_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.16.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.#定义了两个指令:jdk8 和 jdk11,其中默认配置为 jdk8。
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk11='export JAVA_HOME=$JAVA_11_HOME'

在这里插入图片描述

检查环境变量

# 配置文件立即生效
source .bash_profile# 查看 JAVA_HOME 目录
echo $JAVA_HOME# 查看 JDK 版本信息
java -version

JDK 版本切换

  • 定义了两个指令:jdk8 和 jdk11,其中默认配置为 jdk8

  • 要切换到 jdk11,请在终端中输入命令 jdk11,如下:

    woniu@MacBook-Pro ~ % jdk11
    woniu@MacBook-Pro ~ % java -version
    java version "11.0.16" 2022-07-19 LTS
    Java(TM) SE Runtime Environment 18.9 (build 11.0.16+11-LTS-199)
    Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16+11-LTS-199, mixed mode)
    
  • 要切换回 jdk8,请在终端中输入命令 jdk8,如下:

    woniu@MacBook-Pro ~ % jdk8
    woniu@MacBook-Pro ~ % java -version
    java version "1.8.0_281"
    Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
    Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)
    
    • linux动态切换类似

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

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

相关文章

statsmodels.tsa 笔记 detrend(去趋势)

1 基本使用方法 statsmodels.tsa.tsatools.detrend(x, order1, axis0) 2 参数说明 x数据。如果是二维数组,那么每一行或每一列将独立地去除趋势,但趋势的阶数是一样的。order趋势的多项式阶数。0 表示常数趋势(即没有趋势)&…

kubernetes Adminssion Webhook 准入控制器 (ImagePolicyWebhook)

开头语 写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 介绍 原理 流程 Admission Webhook 准入控制器Vebhook是准入控制插件的一种,用于拦截所有向APISERVER发送的…

网络安全B模块(笔记详解)- 漏洞扫描与利用

1.通过Kali对服务器场景server2003以半开放式不进行ping的扫描方式并配合a,要求扫描信息输出格式为xml文件格式,从生成扫描结果获取局域网(例如172.16.101.0/24)中存活靶机,以xml格式向指定文件输出信息(使用工具Nmap,使用必须要使用的参数),并将该操作使用命令中必须…

超声波清洗机是智商税吗?哪些超声波清洗机值得买?这些值得入手

自打超声波清洗机问世以来,就有非常多朋友会有这个疑问!超声波清洗机到底是不是智商税呢?其实不光是大家,一开始我也有这个疑问,但是通过了解了超声波清洗机的一些工作原理之后,会发现,其实超声…

服务器组网方案

在当今数字化时代,服务器组网方案不仅是企业信息管理的关键,更是支撑业务运作的核心架构 。为了实现高效的数据处理和存储,服务器组网方案成为企业不可或缺的一部分。本文将深入探 讨服务器组网方案的核心要素和实施策略,明确其在…

RTMP vs SRT:延迟与最大带宽的比较

引言 文来自Haivision的白皮书,比较了RTMP和SRT两种流媒体协议的优缺点,并通过实验测试了两种协议在延迟和最大带宽两方面的表现。 本文福利, 免费领取C音视频学习资料包学习路线大纲、技术视频/代码,内容包括(音视频…

【Python百宝箱】Python引领量子风云:量子计算搭建指南

探秘量子之旅:Python量子计算库全览 前言 随着科学技术的不断发展,量子计算逐渐成为计算科学领域的一项引人瞩目的前沿技术。Python作为一种强大而灵活的编程语言,拥有丰富的生态系统,使得科学家们能够在量子计算领域展开更深入…

zabbix监控部署

目录 一、什么是zabbix? 二、zabbix监控原理 三、zabbix常见的五个程序 四、zabbix监控mysql实验 1、部署服务端 2、部署客户端 3、自定义监控内容 一、什么是zabbix? zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的…

如何让GPT支持中文

上一篇已经讲解了如何构建自己的私人GPT,这一篇主要讲如何让GPT支持中文。 privateGPT 本地部署目前只支持基于llama.cpp 的 gguf格式模型,GGUF 是 llama.cpp 团队于 2023 年 8 月 21 日推出的一种新格式。它是 GGML 的替代品,llama.cpp 不再…

tmux -- 笔记

tmux 是一个终端复用工具,允许你在一个终端窗口中创建多个终端会话,并在这些会话之间切换。以下是一些基本的 tmux 使用方法: 安装和启动 tmux: 安装 tmux: 在 Debian/Ubuntu 系统上,可以使用 apt 安装:sudo apt-get install tmux在 Red Hat/CentOS 系统上,可以使用 y…

构建异步高并发服务器:Netty与Spring Boot的完美结合

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 ChatGPT体验地址 文章目录 前言IONetty1. 引入依赖2. 服务端4. 客户端结果 总结引导类-Bootstarp和ServerBootstrap连接-NioSocketChannel事件组-EventLoopGroup和NioEventLoopGroup 送书…

C#之反编译之路(二)

先阅读C#之反编译之路(一)可以增加文章连续性 阅读C#之反编译之路(一) 如何快速定位代码位置 用一个小小的例子举例,用户反馈新能源车牌号无法录入,燃油车牌正常,查看日志报如下错误 拿到关键字车牌号长度错误直接反编译代码 打开dnSpy.exe→加载项目→CtrlF打开搜索框→输入…

掌握ElasticSearch(二):如何将一台电脑上的Elasticsearch服务迁移到另一台电脑上

文章目录 0.安装数据迁移工具1.导出数据2.导出mapping3.导出查询模板4.拷贝插件5.拷贝配置6.导入到目标电脑上 0.安装数据迁移工具 Elasticsearch dump是一个用于将Elasticsearch索引数据导出为JSON格式的工具。你可以使用Elasticsearch dump通过命令行或编程接口来导出数据。…

学习笔记16——操作系统

学习笔记系列开头惯例发布一些寻亲消息,感谢关注! 链接:https://www.mca.gov.cn/lljz/indexdetail.html?idd0afa7f6f36946319a206d61937f9b63&type0&t10.11199120579373845 八股——操作系统一些基础知识整理 一个java程序对应一个…

极海APM32F003通过IEC 60730/60335功能安全认证,为产品安全保驾护航

近日,极海APM32F003系列工业级超值型MCU,已顺利通过IEC 60730/60335功能安全认证,并可提供符合CLASS B标准的功能安全设计套件,有助于客户减少认证时间与成本,快速推出稳定可靠的终端产品。 *VDE是德国的一个权威性电气…

Spring - 配置支持多数据源

目录 SpringBoot整合多数据源整合步骤具体整合步骤如下:1、在application.properties中配置出多个数据源2、在代码中创建出mapper目录,在mapper目录下创建出不同数据源的目录创建出目录MySQL数据源的MapperSQL Server数据源的Mapper 3、创建config packa…

Excel:通过excel将表数据批量转换成SQL语句

这里有一张表《student》,里面有10条测试数据,现在将这10条测试数据自动生成 insert语句,去数据库 批量执行 P.S. 主要用到excel表格中的 CONCATENATE函数,将单元格里面的内容填入到sql里面对应的位置 1. 先写好一条insert语句&a…

Vue使用printJS导出网页为pdf、printJS导出pdf

先放几个参考链接 感谢! Vue使用PrintJS实现页面打印功能_vue print.js 设置打印pdf的大小-CSDN博客 前台导出pdf经验汇总 (html2canvas.js和浏览器自带的打印功能-print.js)以及后台一些导出pdf的方法_iqc后台管理系统怎么做到导出pdf-CSD…

使用fs.renameSync(oldPath,newPath)方法,报错Error: EPERM: operation not permitted

出错翻译:表示操作被拒绝,因为当前用户没有足够的权限执行该操作。这可能是由于文件或目录 的权限设置不正确或操作系统限制所致 出现错误场景:使用element-plus的Upload 上传功能;后端使用Nodejs提供的fs.renameSync(oldPath,ne…

可碧教你C++——位图

本章节是哈希的延申 可碧教你C——哈希http://t.csdnimg.cn/3R8TU 一文详解C——哈希 位图 位图是基于哈希表的原理产生的一种新的container——bitset 基于哈希映射的原理,我们在查找的时候,可以直接去定址到元素的具体位置,然后直接访问该…