【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动态切换类似

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

kubectlkubeletrancherhelmkubeadm这几个命令行工具是什么关系?

背景 在最近学习k8s的过程中,发现kubectl&kubelet&rancher&helm&kubeadm这几个命令怎么在交错使用,他们究竟是什么关系?他们分别应该在什么情况下使用呢?这里我进行了简单的总结,做个区分。 各工具说…

typora好看的颜色主题包

typora好看的颜色主题包 一、base.user.css二、orangeheart.css三、插入文件 一、base.user.css h1, h2, h3, h4, strong {font-weight: 600; }#write {counter-reset: h2; }h1 {counter-reset: h2; }h2 {counter-reset: h3; }h3 {counter-reset: h4; }h4 {counter-reset: h5; …

UE5 C++(十三)— 创建Character,添加增强输入

文章目录 创建Character第三人称模板添加增强输入引用在脚本中实现移动、旋转 创建Character第三人称模板 创建MyCharacter C类 添加增强输入引用 在DEMO.Build.cs 脚本中添加增强输入模块 有个容易出错的点,这里的设置一定要正确 然后添加引用到C头文件中 …

Lin总线基础:为什么Master节点需要外接上拉电阻

Lin(Local Interconnect Network)总线开发的小伙伴是否有过这样的疑问:为什么主节点(Master)的设计中,需要增加一个1KΩ的上拉电阻呢?如下所示: 提示:本文基于NXP TJA102…

字节8年经验之谈!一文从0到1带你入门接口测试【建议收藏】

扫盲内容: 1.为什么要做接口测试? 2.怎样做接口测试? 3.接口测测试点是什么? 4.接口测试都要掌握哪些知识? 5.其他相关知识? 一.为什么要做接口测试? ①.越底层发现bug,它的修复…

简单易懂的PyTorch激活函数大全详解

目录 torch.nn子模块Non-linear Activations nn.ELU 主要特点与注意事项 使用方法与技巧 示例代码 图示 nn.Hardshrink Hardshrink函数定义 参数 形状 示例代码 图示 nn.Hardsigmoid Hardsigmoid函数定义 参数 形状 示例代码 图示 nn.Hardtanh HardTanh函数…

Master01节点免密钥登录其他节点

1、执行命令 ssh-keygen -t rsa,一直敲回车 2、for i in k8s-master01 k8s-node01 k8s-node02;do ssh-copy-id -i .ssh/id_rsa.pub $i;done 输入yes和对应节点密码

【算法Hot100系列】最长有效括号

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

快手在线查权重源码,附带查询接口

源码介绍 新增了用户访问 IP 和时间的统计功能。要使用此功能,只需将“bygoukai.sql”数据库导入源码中,然后修改“config.php”文件中的数据库用户名、密码和数据库名即可。如果需要修改水印,可以在第40行进行更改。要修改查询限制&#xf…

eclipse正则表达式替换 Find/Replace

Find/Replace 对话框中使用正则表达式 CTRLF 打开 Find/Replace 对话框勾选 Regular expressions ​ 匹配注释 下图中的Find:/.*/ ​ 匹配换行符 换行符:\R 下图中的Find表达式:\R.*Excel.* ​ 新增空行 /** 替换为 \R\t/** ​ 选…

nuxt 不解析HTML结构bug

记录一个本人Vue3迁移Nuxt3的报错 报错信息 [Vue warn]: Failed to resolve directive: top [nitro] [unhandledRejection] TypeError: Cannot read properties of undefined (reading ‘getSSRProps’) 原因是Vue3在迁移到nuxt3的时候有一个自定义指令没有搬过来&#xff0…

色标在matplotlib和plottable中

是这样的,我有一个数组[-4.4, -2.8, -2.6, -2.2, -1.1, 1.1, 1.2, 1.3, 3.6, 6.0, 6.4, 12.3],它需要绘制散点图,点的颜色来代表数值大小;同时,也需要在plottable上作为一列显示,同样用颜色来代表数值的大小…

最新GPT4、AI绘画、DALL-E3文生图模型教程,GPT语音对话使用,ChatFile文档对话总结

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画,文档对话总结DALL-E3文生图,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和…

自然语言处理-情感分析及数据集

情感分析及数据集 随着在线社交媒体和评论平台的快速发展,大量评论的数据被记录下来。这些数据具有支持决策过程的巨大潜力。 情感分析(sentiment analysis)研究人们在文本中 (如产品评论、博客评论和论坛讨论等)“隐…

conda操作使用教程

一 conda介绍 Conda 是一个开源的包管理系统和环境管理系统,用于在 Linux、Windows 和 macOS 上管理 Python 包和依赖项,java有maven, python有conda,它是python开发者的最爱。 Conda 的核心功能: 包管理:安装、更新、删除 Pytho…

自承载 Self-Host ASP.NET Web API 1 (C#)

本教程介绍如何在控制台应用程序中托管 Web API。 ASP.NET Web API不需要 IIS。 可以在自己的主机进程中自托管 Web API。 创建控制台应用程序项目 启动 Visual Studio,然后从“开始”页中选择“新建项目”。 或者,从“ 文件 ”菜单中选择“ 新建 ”&a…

如何在 Photoshop 中扩展背景

展示一些在 Photoshop 中扩展背景的简单有效的方法 1. 如何在 Photoshop 中扩展具有纯色背景的图像 步骤 1 让我们从打开第一张图片开始。点击 Control-O 并选择图片。 步骤 2 要在 Photoshop 中扩展具有纯色背景的图像的背景,您需要做的就是按 Alt-Control-C 并…

ubuntu安装到vmware

文章目录 最新ubuntu下载地址安装流程之创建虚拟机显示界面成功创建虚拟机安装流程之虚拟机中安装ubuntu 最新ubuntu下载地址 点击此处下载ubuntu 安装流程之创建虚拟机 显示界面成功创建虚拟机 安装流程之虚拟机中安装ubuntu 安装说明:采用ubuntu server版安装,版本号为ubu…

Spark与HBase的集成与数据访问

Apache Spark和Apache HBase分别是大数据处理和分布式NoSQL数据库领域的两个重要工具。在本文中,将深入探讨如何在Spark中集成HBase,并演示如何通过Spark访问和操作HBase中的数据。将提供丰富的示例代码,以便更好地理解这一集成过程。 Spark…

商城小程序(7.加入购物车)

目录 一、配置vuex二、创建购物车的store模块三、在商品详情页中使用store模块四、实现购加入购物车功能五、动态统计购物车中商品的总数量六、持久化存储购物车的商品七、优化商品详情页的total侦听器八、动态为tabBar页面设置数据徽标九、将设置tabBar徽标的代码抽离为mixins…