使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8
文章目录
- 1. 安装 SDKMAN!
- 2. 查找可用的 Java 8 版本
- 3. 安装 Java 8
- 4. 验证安装
- 5. 切换 Java 版本(可选)
- 6. 解决 ARM 架构兼容性问题
- 总结
可以使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8。SDKMAN! 是一个强大的工具,用于管理多个版本的 Java 和其他开发工具。以下是具体步骤:
这个方法需要魔法魔法魔法!!!!!
1. 安装 SDKMAN!
请按照官方网站上的说明进行安装:https://sdkman.io/install

如果你还没有安装 SDKMAN!,可以通过以下命令安装:
curl -s "https://get.sdkman.io" | bash
安装完成后,重启终端或运行以下命令使 SDKMAN! 生效:
source "$HOME/.sdkman/bin/sdkman-init.sh"
2. 查找可用的 Java 8 版本
运行以下命令,查看 SDKMAN! 提供的 Java 8 版本:
sdk list java
sdk list java | grep 8
dgq@dgqdeMacBook-Pro ~ % sdk list java | grep 8| | 8.0.442 | amzn | | 8.0.442-amzn | | 8.0.432 | amzn | | 8.0.432-amzn | | 24.ea.28 | graal | | 24.ea.28-graal | | 25.ea.8 | open | | 25.ea.8-open | | 8.0.442.fx | librca | | 8.0.442.fx-librca | | 8.0.442 | librca | | 8.0.442-librca | | 8.0.432.fx | librca | | 8.0.432.fx-librca | | 8.0.432 | librca | | 8.0.432-librca | | 8.0.432 | kona | | 8.0.432-kona | | 8.0.442.fx | zulu | | 8.0.442.fx-zulu | | 8.0.442 | zulu | | 8.0.442-zulu | | 8.0.432.fx | zulu | | 8.0.432.fx-zulu | | 8.0.432 | zulu | | 8.0.432-zulu
在输出列表中,查找带有 8.0.x 标识的版本。注意选择支持 ARM 架构的版本(通常标记为 aarch64 或 ARM)。
3. 安装 Java 8
选择一个合适的 Java 8 版本进行安装。例如:
sdk install java 8.0.432-zulu
- 可能因为网络的原因第一次安装不成功,如果不成功,再安装一次
dgq@dgqdeMacBook-Pro src % sdk install java 8.0.432-zuluDownloading: java 8.0.432-zuluIn progress...############################################################################################# 100.0%Repackaging Java 8.0.432-zulu...Done repackaging...Installing: java 8.0.432-zulu
Done installing!Setting java 8.0.432-zulu as default.
4. 验证安装
安装完成后,运行以下命令验证 Java 版本:
java -version
dgq@dgqdeMacBook-Pro src % java -version
openjdk version "1.8.0_432"
OpenJDK Runtime Environment (Zulu 8.82.0.21-CA-macos-aarch64) (build 1.8.0_432-b06)
OpenJDK 64-Bit Server VM (Zulu 8.82.0.21-CA-macos-aarch64) (build 25.432-b06, mixed mode)
5. 切换 Java 版本(可选)
如果你安装了多个 Java 版本,可以使用以下命令切换:
sdk use java 8.0.392-tem
或者设置为默认版本:
sdk default java 8.0.392-tem
6. 解决 ARM 架构兼容性问题
如果你发现某些 Java 8 版本在 ARM 架构上运行不稳定,可以尝试以下方法:
- 使用 Rosetta 2 运行 x86 版本的 Java:
- 安装 x86 版本的 Java(通过 SDKMAN! 或其他方式)。
- 使用 Rosetta 2 启动终端:
arch -x86_64 zsh - 在 Rosetta 终端中运行 Java。
总结
- SDKMAN! 是安装和管理 Java 版本的强大工具。
- 在 Mac ARM 架构上,选择支持 ARM 的 Java 8 版本(如 Temurin、Zulu 或 Liberica)。
- 如果遇到兼容性问题,可以尝试使用 Rosetta 2 运行 x86 版本的 Java。
希望这些步骤能帮助你成功安装 Java 8!
相关文章:
使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8
文章目录 1. 安装 SDKMAN!2. 查找可用的 Java 8 版本3. 安装 Java 84. 验证安装5. 切换 Java 版本(可选)6. 解决 ARM 架构兼容性问题总结 可以使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8。SDKMAN! 是一个强大…...
【干活分享】2025年可以免费问答的一些GPT网站-deepseek等免费gpt
2025年已经到来,大家也都陆续回归到忙碌的工作中。在新的一年里,如何更高效地完成工作任务,提升工作效率,是很多人关心的问题。今天,就为大家分享一些实用性很强的GPT网站,帮助大家在工作中事半功倍。 Dee…...
20250211解决荣品的RK3566核心板在Android13下出现charge_extrem_low_power的问题
20250211解决荣品的RK3566核心板在Android13下出现charge_extrem_low_power的问题 2025/2/11 17:45 缘起:荣品的RK3566核心板在Android13下,出现charge_extrem_low_power之后就直接挂住了。 由于我司使用了CW2217这个电量计,没有使用核心板自…...
MapReduce到底是个啥?
在聊 MapReduce 之前不妨先看个例子:假设某短视频平台日活用户大约在7000万左右,若平均每一个用户产生3条行为日志:点赞、转发、收藏;这样就是两亿条行为日志,再假设每条日志大小为100个字节,那么一天就会产…...
算法02-各种排序算法
各种常见排序算法总结 一. 冒泡排序 (Bubble Sort) 冒泡排序是一种简单的排序算法。它重复地遍历要排序的列表,比较相邻的元素,并交换它们的位置,直到整个列表排序完成。 A、说明: 特点: 通过不断交换相邻元素&am…...
python基础入门:8.1项目1:爬虫与数据分析
Python爬虫与数据分析全流程实战:从数据采集到可视化呈现 # 综合案例:电商价格监控分析系统 import requests from bs4 import BeautifulSoup import pandas as pd import matplotlib.pyplot as plt# 配置参数 HEADERS {User-Agent: Mozilla/5.0 (Wind…...
git 克隆指定 tag 的项目
git 克隆指定 tag 的项目 一、克隆指定tag的项目二、验证克隆结果 一、克隆指定tag的项目 以 tinyxml2项目 为例说明: git clone --branch V10.0.0 https://github.com/leethomason/tinyxml2.git解释: git clone:这是克隆一个远程仓库的命…...
DeepSeek学习笔记之——初识DeepSeek
春节假期回来已经有一周时间了,这假期综合症的症状是一点没减~~~ 假期期间除了这个欢乐详和的节日气氛,就数DeepSeek最火热了!!! 什么是DeepSeek? DeepSeek是一款由国内人工智能公司研发的大型语言模型,…...
Linux 调用可执行程序
Linux 调用可执行程序 1. system() 函数1.1 system() 函数的声明1.2 system() 函数的不同场景返回值1.3 system() 函数的代码示例 2. exec() 函数族2.1 exec() 函数族的声明2.2 exec() 函数族执行失败的情况2.3 exec() 函数族的代码示例 3. exec() 与 system() 的区别以及使用注…...
MVCC面试怎么答
说到mvcc这个比较抽象的概念,很多人都有点束手无策。因为它实际上偏理论,实际应用中很难用到。但在面试中出现频率又很高,一问大部分都G。所以怎么精简回答并且能抓住重点就很关键了。往上详细解说MVCC的太多了,我这里没那么多废话…...
用Go实现 SSE 实时推送消息(消息通知)——思悟项目技术4
目录 简介 工作原理 例子 使用场景 简介 SSE(Server - Sent Events)是一种允许服务器向客户端实时推送更新的 Web 技术。是一种基于 HTTP 协议的单向通信机制,服务器可以在客户端建立连接后,持续不断地向客户端发送事件流。客…...
0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 0基础…...
vue3:动态渲染后端返回的图片
问: div classleft-png 这里我用css设置了他的背景图片,但是现在我希望改为后端返回的图片,怎么写? 后端返回数据: const centerdata {img:;xxxx,title,xxxx,num:xxxx}? 回答: 好的ÿ…...
DeepSeek小白初识指南
1.什么是DeepSeek? DeepSeek是一个基于大语言模型(LLM)的智能助手,能够处理自然语言理解、生成、对话等任务。它广泛应用于聊天机器人、内容生成、数据分析等领域。 2.DeepSeek和OpenAI等大模型差异? 虽然DeepSeek和Op…...
图像锐化(QT)
如果不使用OpenCV,我们可以直接使用Qt的QImage类对图像进行像素级操作来实现锐化。锐化算法的核心是通过卷积核(如拉普拉斯核)对图像进行处理,增强图像的边缘和细节。 以下是一个完整的Qt应用程序示例,展示如何使用Qt…...
38.社区信息管理系统(基于springboothtml)
目录 1.系统的受众说明 2.需求分析及相关技术 2.1设计目的 2.2社区信息管理系统的特点 2.3可行性分析 2.3.1技术可行性 2.3.2运行可行性 2.4系统设计 2.4.1系统功能分析 2.4.2管理员权限功能设计 2.4.3业主权限功能设计 2.5系统的技术介绍 2.5.1 Html 2.5.2 Aja…...
游戏引擎学习第98天
仓库:https://gitee.com/mrxiao_com/2d_game_2 开始进行一点回顾 今天的目标是继续实现正常贴图的操作,尽管目前我们还没有足够的光照信息来使其完全有用。昨日完成了正常贴图相关的基础工作,接下来将集中精力实现正常贴图的基本操作,并准备…...
音频知识基础
音频知识基础 声音属性声音度量人耳特性通道数音频数字化传输接口 声音属性 响度 响度是人耳对声音强弱的主观感受; 主要和声波的振幅相关,同时也和频率有一定关系; 音调 音调是人耳对声音高低的主观感受; 主要与频率相关&#…...
【AI赋能】蓝耘智算平台实战指南:3步构建企业级DeepSeek智能助手
蓝耘智算平台实战指南:3步构建企业级DeepSeek智能助手 引言:AI大模型时代的算力革命 在2025年全球AI技术峰会上,DeepSeek-R1凭借其开源架构与实时推理能力,成为首个通过图灵测试的中文大模型。该模型在语言理解、跨模态交互等维…...
LabVIEW无人机飞行状态监测系统
近年来,无人机在农业植保、电力巡检、应急救灾等多个领域得到了广泛应用。然而,传统的目视操控方式仍然存在以下三大问题: 飞行姿态的感知主要依赖操作者的经验; 飞行中突发的姿态异常难以及时发现; 飞行数据缺乏系统…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...
热烈祝贺埃文科技正式加入可信数据空间发展联盟
2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...
【iOS】 Block再学习
iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...
