Bootstrap

使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8


可以使用 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.432-zulu
  • 可能因为网络的原因第一次安装不成功,如果不成功,再安装一次
dgq@dgqdeMacBook-Pro src % sdk install java 8.0.432-zulu

Downloading: java 8.0.432-zulu

In 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:
    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!

;