使用 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 架构的版本(通常标记为 aarch64ARM)。


3. 安装 Java 8

选择一个合适的 Java 8 版本进行安装。例如:

sdk install java 8.0.392-tem
  • 8.0.392-tem 是 Temurin(Adoptium)提供的 Java 8 版本,支持 ARM 架构。
  • 如果你不确定,可以选择其他支持 ARM 的供应商(如 zululiberica)。

4. 验证安装

安装完成后,运行以下命令验证 Java 版本:

java -version

你应该会看到类似以下的输出,表明 Java 8 已成功安装:

openjdk version "1.8.0_392"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_392-b08)
OpenJDK 64-Bit Server VM (Temurin)(build 25.392-b08, 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:
    1. 安装 x86 版本的 Java(通过 SDKMAN! 或其他方式)。
    2. 使用 Rosetta 2 启动终端:
      arch -x86_64 zsh
      
    3. 在 Rosetta 终端中运行 Java。

总结

  • SDKMAN! 是安装和管理 Java 版本的强大工具。
  • 在 Mac ARM 架构上,选择支持 ARM 的 Java 8 版本(如 Temurin、Zulu 或 Liberica)。
  • 如果遇到兼容性问题,可以尝试使用 Rosetta 2 运行 x86 版本的 Java。

希望这些步骤能帮助你成功安装 Java 8!

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

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

相关文章

存储异常导致的Oracle重大生产故障

📢📢📢📣📣📣 作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验 Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯…

计算机视觉-拟合

一、拟合 拟合的作用主要是给物体有一个更好的描述 根据任务选择对应的方法(最小二乘,全最小二乘,鲁棒最小二乘,RANSAC) 边缘提取只能告诉边,但是给不出来数学描述(应该告诉这个点线是谁的&a…

【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具演示05

SQLSERVER的ImpDp和ExpDp工具演示 1、表部分数据导出 (-query) ※「-query」和「-include_table」必须一起使用 「-query」后面字符串是sql文的where语句,但要注意要使用%,需要写%% 验证用:导出的表,导入到新的数据库 db的数…

《qt6+Open3d网格读取》

《qt6+Open3d网格读取》 效果显示一、创建步骤1.1 创建动作及槽函数二、注意效果显示 一、创建步骤 1.1 创建动作及槽函数 按照以下步骤创建动作,并将动作拉入菜单栏文件中,创建槽函数。 在mainwindow.h添加 private:geometry

mapbox进阶,添加绘图扩展插件,绘制圆形

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️MapboxDraw 绘图控件二、🍀添加绘图扩…

C#控件开发6—指示灯

按钮功能:手自动旋转,标签文本显示、点击二次弹框确认(源码在最后边); 【制作方法】 找到控件的中心坐标,画背景外环、内圆;再绘制矩形开关,进行角度旋转即可获得; 【关…

电商平台的设计与实现(代码+数据库+LW)

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统商品交易信息管理难度大,容错率低&#xff0…

【deepseek实战】绿色好用,不断网

前言 最佳deepseek火热网络,我也开发一款windows的电脑端,接入了deepseek,基本是复刻了网页端,还加入一些特色功能。 助力国内AI,发出自己的热量 说一下开发过程和内容的使用吧。 目录 一、介绍 二、具体工作 1.1、引…

【OS】AUTOSAR架构下的Interrupt详解(上篇)

目录 前言 正文 1.中断概念分析 1.1 中断处理API 1.2 中断级别 1.3 中断向量表 1.4 二类中断的嵌套 1.4.1概述 1.4.2激活 1.5一类中断 1.5.1一类中断的实现 1.5.2一类中断的嵌套 1.5.3在StartOS之前的1类ISR 1.5.4使用1类中断时的注意事项 1.6中断源的初始化 1.…

llama.cpp GGUF 模型格式

llama.cpp GGUF 模型格式 1. Specification1.1. GGUF Naming Convention (命名规则)1.1.1. Validating Above Naming Convention 1.2. File Structure 2. Standardized key-value pairs2.1. General2.1.1. Required2.1.2. General metadata2.1.3. Source metadata 2.2. LLM2.2.…

Java/Kotlin双语革命性ORM框架Jimmer(一)——介绍与简单使用

概览 Jimmer是一个Java/Kotlin双语框架 包含一个革命性的ORM 以此ORM为基础打造了一套综合性方案解决方案,包括 DTO语言 更全面更强大的缓存机制,以及高度自动化的缓存一致性 更强大客户端文档和代码生成能力,包括Jimmer独创的远程异常 …

yolov11模型在Android设备上运行【踩坑记录】

0) 参考资料: https://github.com/Tencent/ncnn?tabreadme-ov-file https://github.com/pnnx/pnnx https://github.com/nihui/ncnn-android-yolov5 https://github.com/Tencent/ncnn?tabreadme-ov-file 1) :将xxx.pt模型转化成 xxx.onnx ONNX(Ope…

快速上手——.net封装使用DeekSeek-V3 模型

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,用爱发电,去丈量人心,是否能达到人机合一?开工大吉 新的一年就这么水灵灵的开始了,在这里,祝各位读者新春快乐,万事如意! 新年伊…

【WebLogic】Oracle发布WebLogic 14c最新版本-14.1.2.0

根据Oracle官方产品经理的博客,Oracle于2024年12月20日正式对外发布了WebLogic 14c的第二个正式版本,版本号为 14.1.2.0.0 ,目前官方已开放客户端下载。该版本除继续支持 Jakarta EE 8 版本外,还增加了对 Java SE 17(J…

Spider 数据集上实现nlp2sql训练任务

NLP2SQL(自然语言处理到 SQL 查询的转换)是一个重要的自然语言处理(NLP)任务,其目标是将用户的自然语言问题转换为相应的 SQL 查询。这一任务在许多场景下具有广泛的应用,尤其是在与数据库交互的场景中&…

IDEA+DeepSeek让Java开发起飞

1.获取DeepSeek秘钥 登录DeepSeek官网 : https://www.deepseek.com/ 进入API开放平台,第一次需要注册一个账号 进去之后需要创建一个API KEY,然后把APIkey记录保存下来 接着我们获取DeepSeek的API对话接口地址,点击左边的:接口…

intra-mart实现简易登录页面笔记

一、前言 最近在学习intra-mart框架,在此总结下笔记。 intra-mart是一个前后端不分离的框架,开发时主要用的就是xml、html、js这几个文件; xml文件当做配置文件,html当做前端页面文件,js当做后端文件(js里…

Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 替代】

🎀🎀Shell语法入门篇 系列篇 🎀🎀 LinuxDocer 容器化部署之 Shell 语法入门篇 【准备阶段】LinuxDocer 容器化部署之 Shell 语法入门篇 【Shell变量】LinuxDocer 容器化部署之 Shell 语法入门篇 【Shell数组与函数】LinuxDocer 容…

Intellij IDEA如何查看当前文件的类

快捷键:CtrlF12,我个人感觉记快捷键很麻烦,知道具体的位置更简单,如果忘了快捷键(KeyMap)看一下就记起来了,不需要再Google or Baidu or GPT啥的,位置:Navigate > Fi…

C++----继承

一、继承的基本概念 本质:代码复用类关系建模(是多态的基础) class Person { /*...*/ }; class Student : public Person { /*...*/ }; // public继承 派生类继承基类成员(数据方法),可以通过监视窗口检…