是否需要一个特别的OpenJDK版本来支持新的苹果硅芯片?

我看到目前有macOS/OS X的JDK下载,但这些似乎只适用于x86处理器。对吗?如果是这样,我可以在哪里下载用于M1的OpenJDK版本?


当前回答

简单地使用Java下载,在菜单中选择选项卡“Java 18”,然后选项卡“macOS”。下载Arm 64 DMG安装程序。

您可以通过以下方法验证它是否有效 打开终端并输入:

java -version

其他回答

简单地使用Java下载,在菜单中选择选项卡“Java 18”,然后选项卡“macOS”。下载Arm 64 DMG安装程序。

您可以通过以下方法验证它是否有效 打开终端并输入:

java -version

命令行方法(感谢Homebrew团队以及@vladimir-kempik和其他openjdk JEP-391分支贡献者的辛勤工作)

# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install OpenJDK
brew install openjdk

确认安装成功:

$(brew --prefix openjdk)/bin/java --version

验证它是arm64硬件:

file $(brew --prefix openjdk)/bin/java     
# /opt/homebrew/opt/openjdk/bin/java: Mach-O 64-bit executable arm64

注意:要在系统范围内安装openjdk,请遵循Homebrew提供的屏幕说明。

brew install openjdk

以我为例,在MacBook Air (M1)上成功安装OpenJDK后,java命令仍然不起作用。我用

brew info openjdk

然后有一个命令喜欢

For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

执行该命令,java命令生效。

Azul在其网站的下载部分提供macOS ARM版本的OpenJDK。虽然我还没有尝试过,但Azul一直是JDK的长期开发人员。

一旦你解包了Azul JDK,你必须在它里面翻找,直到你找到zulu-11。jdk目录(假设您已经下载了jdk 11),然后将其复制到/Library/Java/JavaVirtualMachines。

微软和Azul似乎是JEP 391与Windows移植(JEP 388)结合的主要推动者。他们有一个单独的GitHub存储库,实际上有一个针对macOS-aarch64的EA发行版。

我不确定与OpenJDK存储库的确切关系。