使用 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…

安全测试|用例设计基本步骤和指南

前言 安全测试用例设计是确保软件应用程序的安全性的一个重要环节。这涉及到识别潜在的安全漏洞和弱点,并设计相应的测试用例来验证这些漏洞是否存在。 以下是一些关于如何设计安全测试用例的基本步骤和指南: 一、需求分析: 1)首先&#x…

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

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

13.1 深入理解 LangChain Chat Model 与 Prompt Template:重构智能翻译助手的核心

深入理解 LangChain Chat Model 与 Prompt Template:重构智能翻译助手的核心 关键词:LangChain Chat Model, Chat Prompt Template, 翻译系统架构设计, 大模型抽象层, 提示工程优化 1. 为什么需要 Chat Model 抽象层? 在传统翻译系统开发中,对接不同大模型面临三大痛点:…

《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—指示灯

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

MySQL开窗函数种类和使用总结

在 MySQL 中,开窗函数(Window Functions) 是一种强大的功能,能够在数据分析和聚合时提供灵活的方式。开窗函数在 MySQL 8.0 及以上版本 中引入,可以基于数据的某个分组(窗口)来执行计算&#xf…

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

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

21.命令模式(Command Pattern)

定义 命令模式(Command Pattern) 是一种行为型设计模式,它将请求封装成一个对象,从而使您可以使用不同的请求、队列、日志请求以及支持撤销操作等功能。命令模式通过将请求(命令)封装成对象,使…

【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.…

一条sql 在MySQL中是如何执行的

在 MySQL 中,SQL 查询的执行涉及多个内存区域和处理步骤,以确保查询能够高效地执行和返回结果。以下是 SQL 查询在 MySQL 中执行时通常会经过的内存路径: 1. 客户端内存 - SQL 文本发送 :SQL 查询首先从客户端发送到 MySQL 服务…

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.…

Day30-【AI思考】-错题分类进阶体系——12维错误定位模型

文章目录 错题分类进阶体系——12维错误定位模型**一、认知层错误(根源性缺陷)****二、操作层错误(执行过程偏差)****三、心理层错误(元认知障碍)****四、进阶错误(专业级陷阱)** 错…

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

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

openAI官方prompt技巧(一)

1. 使用最新的模型 2. 将指令放在提示词的开头,并使用 ### 或 """ 来分隔指令和上下文,例如 错误示范❌ 将下面的文本总结为一个要点列表,列出最重要的内容。 Summarize the text below as a bullet point list of the most…

通过制作docker镜像的方式在阿里云部署前端后台服务

前端Dockerfile文件的内容: FROM nginx:版本,如果不指定,默认是latest COPY dist/ /usr/share/nginx/html/dist COPY nginx.conf /etc/nginx/nginx.conf EXPOSE 端口 前端sh脚本文件内容: appName项目名 tar -xvf dist.tar …

Github 2025-02-04 Python开源项目日报 Top10

根据Github Trendings的统计,今日(2025-02-04统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10TypeScript项目1Python中的算法实现集合 创建周期:2831 天开发语言:Python协议类型:MIT LicenseStar数量:178357 个Fork数量:…