当前位置: 首页 > news >正文

【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来使配置文件生效,接下来验证是否成功

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

相关文章:

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

文章目录 JDK下载与安装下载安装 配置环境变量安装多个JDK共存 JDK下载与安装 下载 Oracle官网提供了非常多个版本的JDK供下载,可以点击如下链接重定向到JDK下载页面 ORACLE官网JDK下载 安装 下面的官方文档可以点开收藏到浏览器的收藏夹,这样后续在开…...

C,C++,JAVA的区别与联系

C、C和Java是三种常见的编程语言,它们有一些区别和联系。 区别: 1. 语言类型:C是一种过程式编程语言,C是在C的基础上发展而来的面向对象编程语言,而Java是一种面向对象编程语言。 2. 语法:C语言相对较为…...

界面控件DevExpress WPF PDF Viewer,更快实现应用的PDF文档浏览

DevExpress WPF PDF Viewer控件可以轻松地直接在Windows应用程序中显示PDF文档,而无需在最终用户的机器上安装外部PDF查看器。 P.S:DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress…...

nanodet训练自己的数据集、NCNN部署到Android

nanodet训练自己的数据集、NCNN部署到Android 一、介绍二、训练自己的数据集1. 运行环境2. 数据集3. 配置文件4. 训练5. 训练可视化6. 测试 三、部署到android1. 使用官方权重文件部署1.1 下载权重文件1.2 使用Android Studio部署apk 2. 部署自己的模型【暂时存在问题】2.1 生成…...

含泪整理的超全窗口函数:数据开发必备

最近在搞一些面试和课程答辩的时候,问什么是窗口函数,知道哪些窗口函数?最多的答案就是row_number、rank、dense_rank,在问一下还有其他的吗?这时同学就蒙了,还有其他的窗口函数?其实上面的回答也只是专用窗口函数&am…...

CCF ChinaSoft 2023 论坛巡礼 | NASAC青年软件创新奖论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…...

ES 未分片 导致集群状态飘红

GET /_cluster/allocation/explain ALLOCATION_FAILED:由于分片分配失败而未分配。 CLUSTER_RECOVERED:由于集群恢复而未分配。 DANGLING_INDEX_IMPORTED:由于导入了悬空索引导致未分配。 EXISTING_INDEX_RESTORED:由于恢复为已关…...

Python - 面向现实世界的人脸复原 GFP-GAN 简介与使用

目录 一.引言 二.GFP-GAN 简介 1.GFP-GAN 数据 2.GFP-GAN 架构 3.GFP-GAN In Wave2Lip 三.GFPGAN 实践 1.环境搭建 2.模型下载 3.代码测试 4.测试效果 四.总结 一.引言 近期 wav2lip 大火,其通过语音驱动唇部动作并对视频质量进行修复,其中…...

Xcode15 framework ‘CoreAudioTypes‘ not found

Xcode15遇见"framework ‘CoreAudioTypes’ not found。" 可尝试移除CoreAudioTypes,添加CoreAudio。 CoreAudio是CoreAudioTypes的套壳。 CoreAudio/CoreAudioTypes.h头文件内容 /*CoreAudio/CoreAudioTypes.h has moved to CoreAudioTypes/CoreAudi…...

torch.cuda.is_available()=false的原因

1、检查是否为nvidia显卡; 2、检查GPU是否支持cuda; 3、命令行cmd输入nvidia-smi(中间没有空格),查看显卡信息,cuda9.2版本只支持Driver Version>396.26;如果小于这个值,那么你就需要更新显…...

asp.net docker-compose添加网关和网关配置

打开docker-compose.yml 添加 killsb-social-apigw:image: ${REGISTRY:-killsbdapr}/killsb-social-apigw:${TAG:-latest}build:context: .dockerfile: src/ApiGateways/SocialEnvoy/Dockerfile 在路径src\ApiGateways\SocialEnvoy 添加envoy.yaml admin:access_log_path: …...

论文阅读:LOGO-Former: Local-Global Spatio-Temporal Transformer for DFER(ICASSP2023)

文章目录 摘要动机与贡献具体方法整体架构输入嵌入生成LOGO-Former多头局部注意力多头全局注意力 紧凑损失正则化 实验思考总结 本篇论文 LOGO-Former: Local-Global Spatio-Temporal Transformer for Dynamic Facial Expression Recognition发表在ICASSP(声学顶会…...

【GO】项目import第三方的依赖包

目录 一、导入第三方包 1.执行命令 2.查看go环境变量参数 3.查看go.mod文件的变化情况 二、程序里如何import 1. import依赖包 2. 程序编写 本次学习go如果依赖第三方的包,并根据第三方的包提供的接口进行编程,这里需要使用go get命令。下面将go…...

【Linux基础IO篇】用户缓冲区、文件系统、以及软硬链接

【Linux基础IO篇】用户缓冲区、文件系统、以及软硬链接 目录 【Linux基础IO篇】用户缓冲区、文件系统、以及软硬链接深入理解用户缓冲区缓冲区刷新问题缓冲区存在的意义 File模拟实现C语言中文件标准库 文件系统认识磁盘对目录的理解 软硬链接软硬链接的删除文件的三个时间 作者…...

电脑软件:推荐一款电脑多屏幕管理工具DisplayFusion

下载https://download.csdn.net/download/mo3408/88514558 一、软件简介 DisplayFusion是一款多屏幕管理工具,它可以让用户更轻松地管理连接到同一台计算机上的多个显示器。 二、软件功能 2.1 多个任务栏 通过在每个显示器上显示任务栏,让您的窗口管理更…...

免费好用的网页采集工具软件推荐

在众多各具特色的采集器软件中,真正好用的采集器软件有哪些? 自己一个个去查找和尝试无疑会耗费大量的时间和精力。 因此,在深入体验大多数采集器后,给大家推荐几款优秀且好用的免费网页采集器软件。 本文将对这几款采集器进行…...

6.ELK之Elasticsearch嵌套(Nested)类型

0、前言 在Elasticsearch实际应用中经常会遇到嵌套文档的情况,而且会有“对象数组彼此独立地进行索引和查询的诉求”。在ES中这种嵌套文档称为父子文档,父子文档“彼此独立地进行查询”至少有以下两种方式: 1)父子文档。在ES的5.…...

RefConv: 重参数化的重新聚焦卷积(论文翻译)

文章目录 摘要1、简介2、相关研究2.1、用于更好性能的架构设计2.2、结构重参数化2.3、权重重参数化方法 3、重参数化的重聚焦卷积3.1、深度RefConv3.2、普通的RefConv3.3、重聚焦学习 4、实验4.1、在ImageNet上的性能评估4.2、与其他重参数化方法的比较4.3、目标检测和语义分割…...

指令重排序

指令重排序是现代处理器在执行指令时的一种优化技术,其目的是为了提高处理器执行指令的效率。这种优化手段会对指令进行重新排序,以提高并行度和性能。 为何会发生指令重排序: 处理器性能优化: 为了更好地利用现代处理器的流水线、…...

【Head First 设计模式】-- 观察者模式

背景 客户有一个WeatherData对象,负责追踪温度、湿度和气压等数据。现在客户给我们提了个需求,让我们利用WeatherData对象取得数据,并更新三个布告板:目前状况、气象统计和天气预报。 WeatherData对象提供了4个接口: …...

OpenClaw故障排查大全:千问3.5-27B接口调用常见错误解决

OpenClaw故障排查大全:千问3.5-27B接口调用常见错误解决 1. 开篇:当OpenClaw遇上千问3.5-27B 上周深夜,我的OpenClaw突然罢工了——一个原本运行良好的自动化脚本在调用千问3.5-27B模型时频繁报错。作为个人效率工具的重度用户,…...

标普油气ETF富国(513350.SH)逆势走强、半导体承压:地缘扰动与产业逻辑共振下的ETF分化走势

4月2日,市场全天震荡调整,创业板指、科创50指数均跌超2%。板块方面,医药板块逆势走强,油气股表现活跃,光纤概念反复走强;算力租赁概念集体调整。ETF方面,标普油气ETF富国(513350.SH&…...

手把手搓FPGA版W5500三合一驱动

FPGA W5500 3合一 驱动 UDP、TCP客户端、TCP服务端三合一,8个SOCKET都可用源代码,SPI时钟80m,无时序问题,上手即用 硬件实测,高速、稳定 verilog编写,纯逻辑实现 这块W5500芯片的驱动在项目里被我折腾了半个月&#xf…...

新手学吉他必看,这5个常见误区,避开了少走3个月弯路

经常会看到很多新手学吉他,学着学着就卡壳学不下去了,不是嫌按弦手疼,就是曲子弹不下去。特别是一些自学的朋友,网上随便东找些课,西看些视频,学下来进步很慢,3个月之后就改打“退堂鼓”了。其实…...

终极指南:免费解锁Cursor Pro完整功能,告别AI编程限制

终极指南:免费解锁Cursor Pro完整功能,告别AI编程限制 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reach…...

打破设备壁垒:VR-Reversal实现3D内容自由视角全设备适配

打破设备壁垒:VR-Reversal实现3D内容自由视角全设备适配 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_…...

13-40K!AI大模型应用工程师,非常详细收藏我这一篇就够了

■ AI大模型应用工程师 13-40K 01 AI大模型应用工程师 ■ 岗位职责: 1、负责AI大模型在实际业务场景中的应用开发,提升模型性能与用户体验; 2、参与需求分析,根据不同类型的需求场景,结合业务目标选择AI技术/模型实现相…...

小智AI固件开发者的福音:VSCode插件一键搞定ESP-IDF v5.4环境(Windows/Linux通用)

小智AI固件开发者的福音:VSCode插件一键搞定ESP-IDF v5.4环境(Windows/Linux通用) 在物联网开发领域,ESP32系列芯片凭借其优异的性能和丰富的功能,已经成为智能硬件开发的首选平台之一。而作为ESP32官方推荐的开发框架…...

从参数化几何到气动分析:OpenVSP航空设计工具深度解析

从参数化几何到气动分析:OpenVSP航空设计工具深度解析 【免费下载链接】OpenVSP A parametric aircraft geometry tool 项目地址: https://gitcode.com/gh_mirrors/ope/OpenVSP 在航空工程领域,如何将概念设计快速转化为可分析的几何模型一直是技…...

告别Lottie和SVGA:用Unity给Android应用做高性能动态引导动画的实战踩坑记录

告别Lottie和SVGA:用Unity给Android应用做高性能动态引导动画的实战踩坑记录 在移动应用开发中,动态引导动画一直是提升用户体验的关键元素。从早期的帧动画到后来的Lottie、SVGA等方案,开发者们不断寻求更高效、更灵活的动画实现方式。然而&…...