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

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


当前回答

我成功地使用Azul OpenJDK和NetBeans在新的Apple M1芯片上开发Java应用程序。

配置:

zulu16.0.65-ea-jdk16.0.0-ea.24-macos_aarch64 NetBeans 12.1和Maven。

其他回答

我按照下面的步骤,成功地在MacBook Air (M1)上运行了JDK 16:

登陆Oracle.com 进入产品→软件→Java 点击“立即下载Java” 点击“JDK下载” 选择“macOS安装程序” 安装JDK 尝试任何示例Java程序,这应该适合您。

我成功地在我的MacBook Air (M1)上安装并运行了这个程序。

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

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

以下是安装Oracle JDK 8并从Rosetta - https://www.oracle.com/in/java/technologies/javase/javase-jdk8-downloads.html运行它的步骤

下载macOS x64版本 在尝试安装该包时,如果Rosetta已经不存在,您将收到安装它的提示 其余的安装步骤与任何其他包相同。

您可以通过打开终端并输入以下命令来验证它是否工作:

java -version

您可以使用sdkman安装Java JDK(参见sdkman install):

vim .sdkman/etc/config

设置sdkman_rosetta2_compatible=false(参见sdkman config)

之后,您将看到一个与M1 jdk兼容的列表:

sdk list java

================================================================================
Available Java Versions
================================================================================
 Vendor        | Use | Version      | Dist    | Status     | Identifier
--------------------------------------------------------------------------------
 Azul Zulu     |     | 16.0.1       | zulu    |            | 16.0.1-zulu
               |     | 11.0.11      | zulu    |            | 11.0.11-zulu
               |     | 8.0.292      | zulu    |            | 8.0.292-zulu
 BellSoft      |     | 16.0.1       | librca  |            | 16.0.1-librca
               |     | 11.0.11      | librca  |            | 11.0.11-librca
               |     | 8.0.292      | librca  |            | 8.0.292-librca
 Java.net      |     | 18.ea.3      | open    |            | 18.ea.3-open
               |     | 18.ea.2      | open    |            | 18.ea.2-open
               |     | 18.ea.1      | open    |            | 18.ea.1-open
               |     | 17.ea.28     | open    |            | 17.ea.28-open
               |     | 17.ea.27     | open    |            | 17.ea.27-open
               |     | 17.ea.26     | open    |            | 17.ea.26-open
               |     | 17.ea.25     | open    |            | 17.ea.25-open
================================================================================

选择一个并使用命令sdk install java IDENTIFIER安装它,即:

SDK安装Java 8.0.292-zulu

不仅仅是JEP-391。

有一个预览分支,https://github.com/openjdk/jdk-sandbox/tree/JEP-391-branch,你可以在Intel Mac上或直接在ARM Mac上使用交叉编译构建JDK 16早期访问(EA)。它运行良好。