Jak ustawić domyślną wersję Java


8

Używam Java 6 na Ubuntu 11.10, ale teraz chcę zaktualizować do wersji 7. Zainstalowałem wersję 7 za pośrednictwem PPA, jak opisano tutaj . Jeśli ucieknę

sudo update-alternatives --config java

Otrzymuję następujące dane wyjściowe:

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

Podobnie, jeśli uruchomię:

sudo update-alternatives --config javac

Otrzymuję wynik:

  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

Wygląda więc na to, że wersja 7 jest już domyślna. Ale jeśli biegnę albo

java -version

lub

javac -version

Dane wyjściowe wskazują, że wersja 6 jest nadal domyślna. Jak mogę ustawić domyślną wersję 7?


Spójrz na Java
Mitch

@Mitch dzięki, ale mówi tylko o użyciu update-alternatives, którego już próbowałem
Dónal

prawda sudo apt-get install oracle-java7-set-defaulti restart ?
Eliran Malka

1
FYI, 11.10 to koniec życia.
Thomas Ward

Odpowiedzi:


4

Zgodnie z odpowiedzią: Jak ustawić domyślną wersję Java?

Spróbuj podać jawną ścieżkę wraz z update-alternatives --install, a następnie uruchom, update-alternativesaby dokonać wyboru:

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

Miałem ten sam problem. Miałem zainstalowany Sun JDK6. Po

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

ponowne uruchomienie było dla mnie konieczne. Niż zadziałało.

Edycja: Zrozumiałem, że nie wystarczy wykonać powyższe kroki.

Musiałem także edytować zmienną środowiskową:

    sudo nano /etc/environment

I dodaj (inna wersja Java wymaga innego ciągu):

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

0

wstaw numer identyfikujący żądaną ścieżkę i naciśnij klawisz Enter. w takim przypadku wstaw 1.

na koniec spróbuj przetestować wersję java -version


Chcę wersji 7, a nie 6. Dane wyjściowe update-alternativeswskazujące, że już używam wersji 7, ale java -versionpokazuje, że nadal używam wersji 6.
Dónal

0

Myślę, że twój plik binarny java wskazuje na coś innego niż /etc/alternatives/java.

Sprawdź wydajność: type java

Czy to znaczy /usr/bin/java? Jeśli tak, sprawdź, czy prawidłowo wskazuje to na alternatywy:

ls -l /usr/bin/javapowinien pokazać, że wskazuje /etc/alternatives/java.

Wreszcie potwierdzić, że /etc/alternatives/javasama jest skierowany do java-7
ls -l /etc/alternatives/java.

Polecenie update-alternatives dostosowuje tylko ostatni i zakłada, że ​​punkty domyślne, z /usr/bin/javaktórymi z kolei są poprawnie połączone /etc/alternatives/java.


0

Próbowałem prawie wszystkich metod wymienionych powyżej, ale nadal znalazłem java -version wydrukować niewłaściwą wersję, ls -al /etc/alternatives/javawskazując już na właściwą.

Więc uruchamiam: which java i stwierdziłem, że wynik pokazuje, że korzystałem z Java /usr/local/jdk_xxx/bin/java, następnie usunąłem ten folder i ponownie uruchomiłem terminal. Teraz Java działa dobrze.

Mam nadzieję, że pomoże to innym.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.