Raspberry Pi 5のJava 21

Raspberry Pi 5のJava 21

Raspberry Pi 5 に Java 21 をインストールできません。 openJDKとOracleからARMバージョンをダウンロードしましたが、どちらのバージョンも私には適していませんでした。

./javaと入力すると、次のものが印刷されます。そのファイルやディレクトリはありません。"(私は正しいディレクトリにあると確信しています)

Java 21インストール用のリポジトリが見つからず、Java 21で書かれたプロジェクトをサポートするには、17より新しいJavaバージョンが必要です。

file./java出力

./java:ELF 64ビットLSBパイ実行可能ファイル、ARM aarch64、バージョン1(SYSV)、動的リンクできないシェルオフ

ldd./java出力:

Javaは「動的実行ファイルではありません。

Raspberry Pi 5にJava 21をインストールする方法をご存知ですか?

再現方法:

  • オープンJDK:ウェブサイトから(https://jdk.java.net/21/)Linux / Aarch64バージョンをダウンロードして解凍し、上記のディレクトリ内のjavaコマンドを使用して解凍されたディレクトリbin / javaでjava実行可能ファイルを実行しようとしました。

  • Oracle JDK:ウェブサイトからダウンロードしました(https://www.oracle.com/pl/java/technologies/downloads/)OpenJDKバージョンと機能的に同じARM64圧縮アーカイブバージョン。

Raspberry Pi 5のデフォルトのディストリビューションは次のとおりです。Raspberry Piオペレーティングシステム64ビット(Debianベース)

出力は次のとおりです 検索/ -name java -type f -exec ls -l {} 2> / dev / empty;:

Bloodlex@raspberrypi:~/Download/jdk-21.0.1/bin $ find / -name java -type f -exec ls -l {} 2>/dev/null -rwxr-xr-x 1 Bloodlex Bloodlex 70792 10- 05 15:44 /home/bloodex/Download/jdk-21.0.1/bin/java

出力は次のとおりです ファイル/空/ls:

Bloodlex@raspberrypi:~/Download/jdk-21.0.1/bin $ files/bin/ls /bin/ls: ELF 32ビットLSB実行可能ファイル、ARM、EABI5バージョン1(SYSV)、ダイナミックリンク、インタープリタ/lib /ld -linux-armhf.so.3、BuildID[sha1]=73a3ba02d9f4bf3632cbebe139c6a844ca5076d3、GNU/Linux 3.2.0用、削除済み

出力は次のとおりです uname -a

Bloodlex@raspberrypi:~/Download/jdk-21.0.1/bin $ uname -a Linux raspberrypi 6.1.0-rpi6-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.58-1+rpt2 (2023-10-27 )aarch64 GNU / Linux

答え1

私はRaspberry Pi 5 64ビット画像をRaspberry Pi 5 64ビット公式画像としてダウンロードすることにしました。これで、JavaはARM 64ビットバージョンで問題なくうまく機能します。これで、ユーザースペースは64ビットになるはずです。

だから私の解決策は、Raspberry Pi 5に付属のSDカードに付属の基本オペレーティングシステムを使用しないことでした。公式ツールとオペレーティングシステムをダウンロードして直接実行することをお勧めします。

関連情報