「[修正済み] 実行可能ファイルのCPU種別が不正です – MacBookにJavaをインストールする」

最近、MacBook Air M1を新しく手に入れました。そこで最初にインストールしたかったものはJavaでした。それで、OpenJDKのtarファイルをダウンロードし、展開してから「java -version」というコマンドを実行しようとしたところ、エラーが表示されました。

エラーメッセージです: ./java: 実行可能ファイル内のCPUタイプが無効です。

これは私にとって新しいものでした。長い間JavaとMac OSで働いてきましたが、このようなエラーは見たことがありませんでした。オンライン検索とデバッグを行った結果、新しいMacBook M1チップはARM64アーキテクチャを使用しており、JDKサイトからダウンロードしたOpenJDKバイナリは、インテルプロセッサによって使用されるx64アーキテクチャで構築されているため、このようなエラーが発生していることがわかりました。

「-bash: ./java: 実行可能ファイルのCPUタイプが不正です」というエラーメッセージの修正方法

問題が特定された後、解決策は簡単でした。私が必要としていたのは、ARM64アーキテクチャをサポートするOpenJDKの実装を見つけることでした。いくつかの検索の結果、私はAzul Zulu OpenJDKビルドのページにたどり着き、ARM 64ビットアーキテクチャのビルドがありました。

私はtarファイルをダウンロードして、それを解凍し、Javaコマンドを実行したら、うまく動きました。

$ curl -O https://cdn.azul.com/zulu/bin/zulu16.30.19-ca-jdk16.0.1-macosx_aarch64.tar.gz
$ tar -xvf zulu16.30.19-ca-jdk16.0.1-macosx_aarch64.tar.gz 
$ cd zulu16.30.19-ca-jdk16.0.1-macosx_aarch64/bin
$ ./java -version
openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment Zulu16.30+19-CA (build 16.0.1+9)
OpenJDK 64-Bit Server VM Zulu16.30+19-CA (build 16.0.1+9, mixed mode)
$

結論

これは私にとって初めての「実行可能なプログラムのCPUタイプが不正」という経験でした。しかし、もしあなたがここにいるなら、あなたもこれに直面しているということです。それはJavaまたは他のソフトウェアかもしれません。解決策は、ARM 64ビットアーキテクチャをベースにしたソフトウェアのビルドを見つけることで、それで問題は解決するはずです。

ロゼッタ2

自分のJavaのセットアップが終わった後、”Rosetta 2″というものもインストールできることを知りました。この小さなユーティリティはバックグラウンドで動作し、Intel x64アーキテクチャに対応して作られたソフトウェアをAppleチップ搭載のMacで実行することができます。詳しくはこのAppleサポートスレッドをご覧ください。

コメントを残す 0

Your email address will not be published. Required fields are marked *