Debian 8 -bash: /usr/bin/java: 해당 파일이나 디렉터리가 없습니다.

Debian 8 -bash: /usr/bin/java: 해당 파일이나 디렉터리가 없습니다.

새로운 Debian 시스템에서 다음 명령을 사용하여 JRE를 설치했습니다.

sudo apt-get install default-jre

그런 다음 jar 파일을 다운로드하고 실행해 보았습니다.

java -jar server.jar

이 파일에서는 예외가 발생합니다.

java.lang.unsupportedclassversionerror 지원되지 않는 major.minor 버전 52.0

그래서 저는 해결책을 찾기 시작했고 사용자의 지시를 따랐습니다.

sudo rm /usr/bin/java
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin

나중에 나는 목차조차 없어서 /Library링크가 아무데도 가리키지 않는다는 것을 깨달았습니다.

이제 Java를 실행할 수도 없습니다.

java -jar server.jar
-bash: /usr/bin/java: No such file or directory

JRE를 제거하고 다시 설치해 보았습니다.

apt-get remove default-jre
apt-get update
apt-get install default-jre

그러나 그것은 아무것도 바꾸지 않습니다.

Java가 설치된 것으로 나타납니다.

    find /usr -name java
/usr/share/bash-completion/completions/java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-7-openjdk-amd64/bin/java

답변1

링크 를 복원하려면 /usr/bin/java다음을 실행해야 합니다.

sudo update-java-alternatives -a

Debian 9(원래 명시된 대로)를 사용하는 경우 OpenJDK 8이 기본 버전이고 OpenJDK 7도 사용할 수 없기 때문에 이러한 문제가 발생하지 않습니다. 버전 52 클래스를 실행할 수 있도록 문제가 해결되었습니다(Java 8 클래스), OpenJDK 8을 설치합니다.

sudo apt install openjdk-8-jre

Debian 8에서는 백포트에서 OpenJDK 8을 설치할 수 있습니다.

echo deb http://archive.debian.org/debian jessie-backports main | sudo tee /etc/apt/sources.list.d/jessie-backports.list
echo 'Acquire::Check-Valid-Until "false";' | sudo tee -a /etc/apt/apt.conf
sudo apt update
sudo apt -t jessie-backports install openjdk-8-jre

(바라보다jessie 백포트 저장소를 가져올 수 없습니다.더 알아보기. )

그런 다음 구체적으로 OpenJDK 8을 기본값으로 선택해야 합니다.

sudo update-java-alternatives -s java-1.8.0-openjdk-amd64

(가능한 값을 보려면 를 실행하십시오 /usr/sbin/update-java-alternatives -l.)

답변2

다음과 같은 오류가 발생하는 경우:

bash: /usr/bin/java: No such file or directory

달리기:

apt-get install libc6-i386

일부 32비트 라이브러리가 누락되었습니다.

관련 정보