【Mac开发环境搭建】JDK安装、多JDK安装与切换

文章目录

  • JDK下载与安装
    • 下载
    • 安装
  • 配置环境变量
  • 安装多个JDK共存

JDK下载与安装

下载

Oracle官网提供了非常多个版本的JDK供下载,可以点击如下链接重定向到JDK下载页面
ORACLE官网JDK下载

在这里插入图片描述

安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面的官方文档可以点开收藏到浏览器的收藏夹,这样后续在开发的过程中方便寻找

在这里插入图片描述

配置环境变量

首先双击打开终端

在这里插入图片描述
在这里插入图片描述

首先执行cd /Library/Java/JavaVirtualMachines进入Java虚拟机目录,执行ls查看自己安装的jdk版本号

在这里插入图片描述
想要为哪个jdk配置环境,就复制哪个jdk名字出来,如jdk-17.jdk

执行ls -af命令,看看是否存在.bash_profile文件,如果是新电脑,可能是没有这个文件的,需要自己创建

在这里插入图片描述
如果没有.bash_profile文件的话,执行touch .bash_profile来创建这个文件

存在这个文件之后,运行open .bash_profile来打开这个文件,并写入如下配置,注意,jdk-17.jdk需要改成你的版本,写入之后,使用command s保存,关闭这个文件(一定要关闭,不然source可能不生效,左上角x掉即可)

#jdk
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

在这里插入图片描述

接着执行source .bash_profile来使配置文件生效,最后使用java -version来验证是否安装成功,如果成功输出,证明安装成功,恭喜恭喜
在这里插入图片描述

如果只需要安装一个JDK,那到这里就结束去干饭啦,如果还想安装更多的版本,那就继续往下看

安装多个JDK共存

有的时候,我们需要同时下载多个JDK,因为不同项目使用的版本不一定相同(比如老项目用的是jdk8,新项目用的是jdk17),那我们怎么样安装多个JDK呢,其实安装过程和上面的安装过程一致即可,安装完成之后只需要修改一下配置文件就行

等新的JDK安装完成之后,比如说我又安装了一个JDK8,还是先使用open .bash_profile来打开配置文件,将之前的配置改成如下配置,jdk-1.8.jdkjdk-17.jdk要改成你自己的版本,JAVA_8_HOME只是一个变量名,换成ZhangSan和Lisi都行,重要的是上下要对应,注意,jdk8jdk17是后续切换JDK版本的命令,建议简短容易记

#jdk
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
export JAVA_17_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk17='export JAVA_HOME=$JAVA_17_HOME'

在这里插入图片描述
配置文件写完之后,执行source .bash_profile来使配置文件生效,接下来验证是否成功

在这里插入图片描述
到这里安装就结束啦,如果觉得本文有帮助的话,可以点个赞鼓励一下作者呀

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

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

相关文章

思维模型 锚定效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。先入为主,决策易偏。 1 锚定效应的应用 1.1 定价策略中的锚定效应 黑珍珠的定价策略:在 20 世纪 70 年代,黑珍珠被视为一种廉价的珠宝。然而&#xff…

STM32存储左右互搏 SPI总线读写FLASH W25QXX

STM32存储左右互搏 SPI总线读写FLASH W25QXX FLASH是常用的一种非易失存储单元,W25QXX系列Flash有不同容量的型号,如W25Q64的容量为64Mbit,也就是8MByte。这里介绍STM32CUBEIDE开发平台HAL库操作W25Q各型号FLASH的例程。 W25QXX介绍 W25QX…

【java】实现自定义注解校验——方法一

自定义注解校验的实现步骤: 1.创建注解类,编写校验注解,即类似NotEmpty注解 2.编写自定义校验的逻辑实体类,编写具体的校验逻辑。(这个类可以实现ConstraintValidator这个接口,让注解用来校验) 3.开启使用自定义注解进…

【深度学习】Yolov8 区域计数

git:https://github.com/ultralytics/ultralytics/blob/main/examples/YOLOv8-Region-Counter/readme.md 很长时间没有做yolov的项目了,最近一看yolov8有一个区域计数的功能,不得不说很实用啊。 b站:https://www.bilibili.com/vid…

【qemu逃逸】HWS2017-FastCP

前言 虚拟机用户名:root 虚拟机密码:无密码 本题有符号,所以对于设备定位啥的就不多说了,直接逆向设备吧。 设备逆向 在 realize 函数中设置一个时钟任务,并且可以看到只注册了 mmio,大小为 0x100000。…

民宿酒店服务预约小程序的作用

民宿往往是旅游者们前往某个城市感受风情常住的地方,也因此在景区或特定地方,总是不乏大小民宿品牌,但除了市场高需求外,商家们所遇的痛点也不少: 1、获客引流难 民宿生意虽然需求量高,但各家品牌众多&am…

2000-2022年上市公司供应链数字化示范名单匹配数据

2000-2022年上市公司供应链数字化示范名单匹配数据 1、时间:2000-2022年 2、来源:商务部 3、指标: 上市公司供应链数字化(根据城市名单匹配):股票代码、年份、股票简称、中文全称、省份、城市、区县、上…

祝贺璞华大数据产品入选中国信通院“铸基计划”

武汉璞华大数据技术有限公司HawkEye设备数字化管理平台产品,凭借优秀的产品技术能力,通过评估后,入选中国信通院“铸基计划”《高质量数字化转型产品及服务全景图(2023)》的工业数字化领域。 “铸基计划”是中国信通院推出的高质量…

seo而生的WordPress主题RabbitV3.0主题分享

seo而生的WordPress主题RabbitV3.0主题分享,是一款专注于SEO优化用途的WordPress主题,专为博客、自媒体、资讯类等类型网站SEO优化设计开发,自适应兼容手机、平板设备,支持前端用户中心,可以前端发布/投稿文章&#xf…

Pytorch里面参数更新前为什么要梯度手动置为0?

因为在一般情况下,每次minibatch之后,都会计算得到一个loss,进而计算该loss关于全局参数的梯度。如果在下一次minibatch 进入模型,计算得到相应的loss和梯度之前,不对优化器的梯度进行置0操作,那么几次batc…

C# Onnx Dense Face 3D人脸重建,人脸Mesh

效果 项目 代码 using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms;namespace Onnx_Demo {public partial class frmMain : Form{public frmMain(){InitializeComponent();}string fileFilter "*.…

Java Spring Boot----ruoyi项目部署 前后端分离

nginx服务器部署java服务器部署db服务器部署配置打包环境配置前端打包环境(java服务器)配置后端打包环境获取代码 前端代码打包后端代码打包项目上线前端项目上线后端项目上线 将jar包传送到后端服务器导入初始化数据 ip主机名服务名称192.168.20.138ngi…

java中:cmd界面输入javac后提示:找不到或无法加载主类,怎么解决

找不到或无法加载主类 检查环境变量cmd下用 java命令运行文件,提示找不到主类待续、更新中 检查环境变量 CLASSPATH 少写.; 安装jdk过程有两部,一步为安装jdk文件夹,全部一致; 另一步为安装jre文件夹与jdk文件夹不一致(或者文件夹安装位置, 一路全部默认) path中将java变量移…

CLIP Surgery论文阅读

CLIP Surgery for Better Explainability with Enhancement in Open-Vocabulary Tasks(CVPR2023) M norm ⁡ ( resize ⁡ ( reshape ⁡ ( F i ˉ ∥ F i ‾ ∥ 2 ⋅ ( F t ∥ F t ‾ ∥ 2 ) ⊤ ) ) ) M\operatorname{norm}\left(\operatorname{resize}\…

【深度学习】pytorch——神经网络工具箱nn

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ 深度学习专栏链接: http://t.csdnimg.cn/dscW7 pytorch——神经网络工具箱nn 简介nn.Modulenn.Module实现全连接层nn.Module实现多层感知机 常用神经网络层图像相关层卷积层(Conv&#xff…

Tensor.scatter_add_函数解释:

Tensor.scatter_add_(dim, index, src) → Tensor out.scatter_add_(dim, index, src) 1.参数: dim (int) – 哪一dim进行操作 index (LongTensor) – 要在的out的哪一index进行操作 src (Tensor) – 待操作的源数字 2.官方的解释的操作如下: 3.例…

【JAVA学习笔记】63 -坦克大战1.3-敌方发射子弹,击中坦克消失并爆炸,敌人坦克随机移动,规定范围限制移动

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter18/src/com/yinhai/tankgame1_3 〇、要求 增加功能 1.让敌人的坦克也能够发射子弹(可以有多颗子弹) 2.当我方坦克击中敌人坦克时,敌人的坦克就消失,如果能做出爆炸效果更好. …

c-CoSe2-CoN助力Zn-空气电池

硒化钴(CoSe2)的相变可有效调节其固有的电催化活性,但提高CoSe2的电导率和催化活性/稳定性还是一个挑战。异质结构工程可优化界面性能,促进CoSe2基催化剂上氧电催化的动力学。 基于此,黑龙江大学邹金龙教授等人报道了…

再谈Android重要组件——Handler(Native篇)

前言 最近工作比较忙,没怎么记录东西了。Android的Handler重要性不必赘述,之前也写过几篇关于hanlder的文章了: Handler有多深?连环二十七问Android多线程:深入分析 Handler机制源码(二) And…

pyspark连接mysql数据库报错

使用pyspark连接mysql数据库代码如下 spark_conf SparkConf().setAppName("MyApp").setMaster("local")spark SparkSession.builder.config(confspark_conf).getOrCreate()url "jdbc:mysql://localhost:3306/test?useUnicodetrue&characterE…