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), 동적으로 링크됨, 인터프리터/lib/ld-linux-aarch64.so.1, GNU/Linux 3.7.0용, 아직 사용할 수 없음 껍질 끄다
ldd./java산출:
자바는 "동적 실행 파일이 아닙니다."
Raspberry Pi 5에 Java 21을 설치하는 방법을 알고 계십니까?
재현 방법:
오픈JDK: 웹사이트에서 (https://jdk.java.net/21/) Linux/AArch64 버전을 다운로드하고 압축을 푼 다음 위 디렉터리 내의 java 명령을 사용하여 압축이 풀린 디렉터리 bin/java에서 java 실행 파일을 실행하려고 했습니다.
오라클 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/리눅스
답변1
저는 Raspberry Pi 5 64비트 이미지를 Raspberry Pi 5 64비트 공식 이미지로 다운로드하기로 결정했습니다. 이제 Java는 ARM 64비트 버전에서 문제 없이 잘 작동합니다. 이제 사용자 공간은 64비트가 되어야 할 것 같습니다.
그래서 내 해결책은 Raspberry Pi 5와 함께 제공되는 SD 카드에 제공되는 기본 운영 체제를 사용하지 않는 것이었습니다. 공식 도구와 운영 체제를 다운로드하여 직접 수행하는 것이 좋습니다.