Debian 8에서 JDK 8을 기본 Java로 설정

데비안 백 포트 저장소에서 설치된 Java SDK 8 도구를 기본값으로 설정하려고합니다.

# update-java-alternatives --list
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

# update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64
update-alternatives: error: no alternatives for mozilla-javaplugin.so
update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so

흠, 그 오류를 제외하고는 ( /ubuntu/141791/is-there-a-way-to-update-all-java-related- 에 따르면 단지 경고라고 생각합니다. 대안 하지 않으면 내가 볼 수있는 jdk8에 대한 플러그인에는 icedtea 없기 때문에. 나는)이 문제를 해결하는 방법을 모르는이 바로 트릭을 수행해야?

그러나 많은 Java 도구는 여전히 Java 7을 가리 킵니다.

# update-alternatives --get-selections | grep java
appletviewer                   manual   /usr/lib/jvm/java-8-openjdk-amd64/bin/appletviewer
extcheck                       auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/extcheck
idlj                           auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/idlj
jar                            auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/jar
jarsigner                      auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/jarsigner
java                           manual   /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
javac                          auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/javac
javadoc                        auto     /usr/lib/jvm/java-7-openjdk-amd64/bin/javadoc
...

무엇을 제공합니까? 부서진?

편집하다:

이 문제를 해결하려면 다음을 수행하십시오.

for i in `update-alternatives --get-selections | grep java | awk '{print $1}'`; do update-alternatives --config $i; done

각 도구마다 수동으로 프롬프트됩니다. 약 1 분 정도 걸립니다. 그래도 더 좋은 방법이 있는지 알고 싶습니다.



답변

update-java-alternatives업데이트 할 수있는 옵션이 있습니다 --jre-headless, --jre그리고 --plugin별도입니다.

사용

sudo update-java-alternatives --jre-headless --jre --set java-1.8.0-openjdk-amd64

플러그인이 설치되지 않은 데비안 Jessie 서버에서 나를 위해 일했습니다.


답변

우분투에서 JDK1.8은 기본적으로 설치 상태를 유지하지 않습니다. Java 대안을 나열 할 때

$ update-java-alternatives -l
java-1.11.0-openjdk-amd64      1101       /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64
java-7-oracle                  1082       /usr/lib/jvm/java-7-oracle

java-1.8.0-openjdk-amd64이 목록에서 JDK는 아니지만 JRE 입니다. JRE에는 javac, javadoc 등과 같은 필요한 개발 도구가 모두 포함되어 있지 않습니다. bin 디렉토리에 이러한 파일이 있는지 확인할 수 있습니다. 이러한 도구를 등록하지 않은 이유입니다.

먼저 JDK를 설치해야합니다

sudo apt install openjdk-8-jdk

그런 다음 대안을 변경하십시오.

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

답변

데비안에서 이것을 달성하는 가장 쉬운 방법은이 명령을 사용하는 것입니다

update-alternatives --config java

그러면 다음과 같은 출력이 나타납니다.

*0  /usr/lib/jvm/java-8-openjdk-amd64/bin/java  auto mode
 1  /usr/lib/jvm/jdk1.7.0/bin/java              manual mode

그런 다음 색인 번호를 입력하여 기본 선택 ( “*”로 표시)을 변경할 수 있습니다. 예를 들어 Java 7을 기본 JVM으로 사용하려면 “1”을 선택하십시오. 변경 사항을 확인하기 위해 명령을 다시 실행할 수 있습니다.

도움이 되길 바랍니다.


답변

Linux (예 : 데비안)의 경우 :

# update-alternatives --config java
# update-alternatives --config javac
# update-alternatives --config javaws

예:

$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-10-oracle/bin/java             1091      auto mode
* 1            /usr/lib/jvm/java-10-oracle/bin/java             1091      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode
  4            /usr/lib/jvm/jdk1.7.0_80/bin/java                1         manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode

답변

아래 파일에서 java 8의 Java 홈 변수를 변경해야합니다

  'vi /etc/environment'

이 형식으로

JAVA_HOME- / usr / lib / jvm / java-8-oracle

다음을 사용하여 구성 파일을 다시로드하십시오.

'. /etc/environment'

그리고 이것으로 확인하십시오

   echo  $JAVA_HOME