我最近得到了新的MacBook Air M1,我想在那里安装的第一个东西是Java。因此,我下载了OpenJDK tar文件,将其解压并尝试运行Java-Version
命令,但它抛出了错误:
-bash:./Java:可执行文件中的CPU类型错误
这对我来说是新的东西,我在Java和Mac OS上工作了这么久,从来没有见过这种错误。经过一些在线搜索和调试,我发现这是因为新的MacBook M1芯片使用ARM64架构,而从JDK网站下载的OpenJDK二进制文件是为x64架构构建的,这是英特尔处理器使用的。
修复 -bash:./ java:可执行文件中的CPU类型错误
确定问题后,解决方案很简单。我所需要的就是找到一个支持ARM64架构的OpenJDK实现。经过一些搜索,我登录到Azul Zulu OpenJDK builds页面,它有ARM 64位架构构建。
我下载了tar文件,将其解压并运行了Java命令,它运行得很好。
1$ curl -O https://cdn.azul.com/zulu/bin/zulu16.30.19-ca-jdk16.0.1-macosx_aarch64.tar.gz
2$ tar -xvf zulu16.30.19-ca-jdk16.0.1-macosx_aarch64.tar.gz
3$ cd zulu16.30.19-ca-jdk16.0.1-macosx_aarch64/bin
4$ ./java -version
5openjdk version "16.0.1" 2021-04-20
6OpenJDK Runtime Environment Zulu16.30+19-CA (build 16.0.1+9)
7OpenJDK 64-Bit Server VM Zulu16.30+19-CA (build 16.0.1+9, mixed mode)
8$
结论
这是我第一次体验到**可执行文件中的** 糟糕的CPU类型**
。但是,如果你在这里,那就意味着你也面临着这一点。它可以是Java或任何其他软件。解决方案是找到基于ARM 64位体系结构的软件版本,您应该没有问题。
哦
在我完成Java设置后,我开始了解到我们也可以安装).