【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发送的…

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

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

服务器组网方案

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

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

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

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 不再…

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

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

C#之反编译之路(二)

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

学习笔记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 基于哈希映射的原理,我们在查找的时候,可以直接去定址到元素的具体位置,然后直接访问该…

OpenAI ChatGPT-4开发笔记2024-04:Chat之Tool之2:multiple functions

从程序员到ai Expert 1 定义参数和函数2 第一轮chatgpt3 第一轮结果和function定义全部加入prompt再喂给chatgpt4 大结局7 参考资料 上一篇解决了调用一个函数的问题。这一篇扩展为调用3个。n个自行脑补。 1 定义参数和函数 #1.设定目标 import json import openai#1.定义para…

基于JavaWeb+BS架构+SpringBoot+Vue协同推荐的黔醉酒业白酒销售系统的设计和实现

基于JavaWebBS架构SpringBootVue基于协同推荐的黔醉酒业白酒销售系统系统的设计和实现 文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 文末获取源码 Lun文目录 1.2 国内外研究概况 2 1.3 研究的内容 2 1.4 本章…

mybatisPlus 将List<String>字段转成json字符串,使用JacksonTypeHandler以及自定义类型处理器实现

文章目录 场景使用JacksonTypeHandler实现类型转换自定义StringListTypeHandler处理器实现 场景 项目中经常需要将List转成json存储到配置文件中, mybatisPlus默认实现了JacksonTypeHandler,GsonTypeHandler,FastjsonTypeHandler,也可以自定义…

JAVA基础语句1

目录 前言 一.JAVA特性 简单 面向对象 分布式 多线程 二.关键字 三.对象和类 对象 类 构造方法 创建对象 访问实例变量和方法 源文件声明规则 Java 包 import 语句 总结 前言 这里参考了:Java 教程 | 菜鸟教程 (runoob.com) 第一个必须是: hello world&a…