Legen Sie JDK 8 als Standard-Java unter Debian 8 fest

8

Ich versuche, die Java SDK 8-Tools (installiert vom Debian-Backports-Repo) als Standard festzulegen.

# 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

Hum, abgesehen von diesem Fehler (von dem ich glaube, dass er nur eine Warnung gemäß /ubuntu/141791/is-there-a-way-to-update-all-java-related- ist). Alternativen . Wenn nicht, weiß ich nicht, wie ich das beheben soll, da es kein icedtea-Plugin für jdk8 gibt, das ich sehen kann.) Das hätte den Trick machen sollen, oder?

Viele Java-Tools verweisen jedoch immer noch auf 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
...

Was gibt? Gebrochen?

BEARBEITEN:

Umging dies mit:

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

Dadurch werden Sie manuell zu jedem Werkzeug aufgefordert. Was ungefähr eine Minute dauert. Trotzdem würde ich gerne wissen, ob es einen besseren Weg gibt.

Edd Barrett
quelle

Antworten:

5

update-java-alternativeshat Optionen zu aktualisieren --jre-headless, --jreund --plugingetrennt.

Verwenden von

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

arbeitete für mich auf einem Debian Jessie Server ohne installiertes Plugin.

hfs
quelle
4

In Ubuntu bleibt JDK1.8 standardmäßig nicht installiert. Wenn Sie nach Java-Alternativen suchen

$ 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-amd64In dieser Liste befindet sich nicht JDK, sondern JRE . JRE enthält nicht alle erforderlichen Entwicklungstools wie Javac, Javadoc usw. Sie können überprüfen, ob das bin-Verzeichnis diese Dateien enthält. Dies ist der Grund, warum diese Tools nicht registriert werden.

Also müssen Sie zuerst JDK installieren

sudo apt install openjdk-8-jdk

Und dann die Alternative ändern

sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
Misbah
quelle
1

Der einfachste Weg, dies in Debian zu erreichen, ist die Verwendung dieses Befehls

update-alternatives --config java

Dann erhalten Sie eine Ausgabe wie folgt:

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

Anschließend können Sie Ihre Standardauswahl (mit "*" gekennzeichnet) ändern, indem Sie die Indexnummer eingeben. Beispielsweise wählen Sie "1", um Java 7 als Standard-JVM zu verwenden. Sie können den Befehl erneut ausführen, um die Änderungen zu überprüfen.

Ich hoffe es hilft.

patan90
quelle
1

Für Linux (zB Debian):

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

Beispiel:

$ 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
CamelTM
quelle
0

Sie müssen die Java-Home-Variable für Java 8 in der folgenden Datei ändern

  'vi /etc/environment'

In diesem Format

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

Laden Sie die Konfigurationsdatei mit neu

'. /etc/environment'

Und damit bestätigen

   echo  $JAVA_HOME
SuperKrish
quelle