So legen Sie die Standard-Java-Version fest


8

Ich habe Java 6 unter Ubuntu 11.10 verwendet, möchte aber jetzt auf Version 7 aktualisieren. Ich habe Version 7 über PPA wie hier beschrieben installiert . Wenn ich renne

sudo update-alternatives --config java

Ich erhalte folgende Ausgabe:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        auto mode
  1            /usr/lib/jvm/java-6-sun/jre/bin/java      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        manual mode

Ebenso, wenn ich renne:

sudo update-alternatives --config javac

Ich bekomme die Ausgabe:

  Selection    Path                                  Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/bin/javac   64        auto mode
  1            /usr/lib/jvm/java-6-sun/bin/javac      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/bin/javac   64        manual mode

Es sieht also so aus, als ob Version 7 bereits die Standardeinstellung ist. Aber wenn ich auch renne

java -version

oder

javac -version

Die Ausgabe zeigt an, dass Version 6 immer noch die Standardeinstellung ist. Wie kann ich die Standardeinstellung auf Version 7 setzen?


Werfen Sie einen Blick auf Java
Mitch

@Mitch danke, aber es heißt nur zu verwenden update-alternatives, was ich bereits versucht habe
Dónal

hast du sudo apt-get install oracle-java7-set-defaultund neu gestartet ?
Eliran Malka

1
Zu Ihrer Information, 11.10 ist das Ende des Lebens.
Thomas Ward

Antworten:


4

Gemäß dieser Antwort: Wie wird die Standard-Java-Version festgelegt?

Versuchen Sie zuerst, den expliziten Pfad zusammen mit update-alternatives --installanzugeben, und führen Sie dann aus update-alternatives, um Ihre Auswahl zu treffen:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-7-oracle/jre/bin/java" 1

sudo update-alternatives --config java

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-7-oracle/bin/javac" 1

sudo update-alternatives --config javac


1

Ich hatte das gleiche Problem. Ich hatte sun jdk6 installiert. Nach

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws

Ein Neustart war für mich notwendig. Dann hat es funktioniert.

Bearbeiten: Mir wurde klar, dass es nicht ausreichte, die obigen Schritte auszuführen.

Ich musste auch die Umgebungsvariable bearbeiten:

    sudo nano /etc/environment

Und fügen Sie hinzu (eine andere Java-Version erfordert eine andere Zeichenfolge):

    JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"

0

Geben Sie die Nummer ein, die den gewünschten Pfad angibt, und drücken Sie die Eingabetaste. in diesem Fall 1 einfügen.

Versuchen Sie abschließend, die Version zu testen java -version


Ich möchte Version 7, nicht 6. Die Ausgabe zeigt an update-alternatives, dass ich bereits Version 7 verwende, java -versionzeigt aber , dass ich immer noch Version 6 verwende.
Dónal

0

Ich denke, Ihre Java-Binärdatei zeigt auf eine andere Stelle als /etc/alternatives/java.

Überprüfen Sie die Ausgabe von: type java

Sagt es /usr/bin/java? Wenn ja, prüfen Sie, ob dies korrekt auf Alternativen hinweist:

ls -l /usr/bin/javasollte es zeigen zeigen auf /etc/alternatives/java.

Zuletzt bestätigen Sie, dass /etc/alternatives/javaselbst auf Java-7 zeigt :
ls -l /etc/alternatives/java.

Der Befehl update-alternatives passt nur den letzten an und geht davon aus, dass Standardpunkte, mit /usr/bin/javadenen wiederum korrekt verknüpft ist /etc/alternatives/java.


0

Ich habe fast alle oben aufgeführten Methoden ausprobiert, aber immer noch festgestellt java -version , dass die falsche Version gedruckt wurde, während ich ls -al /etc/alternatives/javabereits auf die richtige verwiesen habe.

Also habe ich ausgeführt: which java und festgestellt, dass das Ergebnis zeigt, dass ich Java von verwendet habe /usr/local/jdk_xxx/bin/java, dann habe ich diesen Ordner gelöscht und das Terminal neu gestartet. Jetzt funktioniert Java gut.

Hoffe, es wird anderen helfen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.