Ustawienie JDK 7 jako domyślnego


83
 four@twenty:~$ file /etc/alternatives/java /etc/alternatives/javac
 /etc/alternatives/java:symbolic link to `/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'
 /etc/alternatives/javac:symbolic link to `/usr/lib/jvm/java-6-openjdk-amd64/bin/javac'

Wybacz mi noobishness, ale interpretuję te komunikaty jako środowisko wykonawcze przy użyciu Java 7, ale kompilator używa Java 6?

Czy to prawda, a jeśli tak, to w jaki sposób mogę ustawić używanie Java w wersji 7?

Odpowiedzi:


155

Przełączanie między zainstalowanymi wersjami Java można wykonać za pomocą update alternativespolecenia.

  • Aby uzyskać listę zainstalowanych platform Java, uruchom następujące polecenie z terminala:

    sudo update-alternatives --config java

    To da ci wynik wyjściowy podobny do tego:

    There are 2 choices for the alternative java (providing /usr/bin/java).
       Selection    Path                                           Priority   Status
      ------------------------------------------------------------
      0            /usr/lib/jvm/java-6-oracle/jre/bin/java         1070      auto mode
      1            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1051      manual mode
    * 2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1069      manual mode
    Press enter to keep the current choice[*], or type selection number: 

W takim przypadku uruchomiona jest wersja Open JDK 6. Aby przełączyć się na Open JDK w wersji 7, wybierz opcję 1w monicie i naciśnij Enterklawisz.

Będziesz teraz korzystać z wersji OpenJDK 7. Żadne inne zmiany nie będą potrzebne do zmiany wersji Java.


Ok, dzięki. Czy zyskałbym na odinstalowaniu jkd6?
— Wingsuit

@ user142712 Nie ma problemu. Uważam, że odinstalowanie spowoduje także usunięcie starszej wtyczki przeglądarki, co jest korzystne ze względów bezpieczeństwa.
— Kevin Bowen

1
Nie wybrałbym tak szybko odpowiedzi „Bez problemu”. Sprawdź oracle.com/technetwork/java/javase/compatibility-417013.html i upstream-tracker.org/java/versions/jdk.html . Nie ma 100% kompatybilności między tymi dwiema głównymi wersjami i może się tak zdarzyć (mało prawdopodobne, ale nadal ...), że masz aplikację X, która nie działa poprawnie z siódmą wersją. Dopóki nie upewnisz się, że nie będzie żadnych problemów, zdecydowanie radzę zachować oba na wypadek, gdybyś potrzebował poprzedniej wersji.
— rbaleksandar

Gwoli ścisłości. Komentarz „bez problemu” był kolejnym sposobem, w jaki powiedziałem, że jesteś mile widziany, nigdy nie twierdziłem, że nie będzie żadnych problemów z instalacją Java.
— Kevin Bowen

1
aktualizacja-alternatywy rozwiązanie dostarczone przez tę odpowiedź zmieni tylko JRE . Zobacz poniżej właściwy sposób przełączania całego JDK (kompilatora i innych narzędzi) za pomocą jednego polecenia
— J. Will

15

Najczęściej głosowana odpowiedź, która sugeruje użycie

aktualizacja-alternatywy

tylko częściowo odpowiada na pytanie. Korzystając z niego, bardzo prawdopodobne jest, że środowisko Java będzie niespójne.

Jest to szczególnie ważne, jeśli masz JDK, a nie JRE, as

[sudo] update-alternatives --config java

zmieni wersję dla tej javakomendy tylko , czyli ponownie wskazywał główne JRE wykonywalny.

javaca inne narzędzia JDK nadal będą wskazywały na inną wersję Java. Aby w pełni przełączyć, musisz kontynuować update-alternativesdla wszystkich innych narzędzi.

Właściwa i znacznie łatwiejsza droga do przełączania wersji Java w dystrybucji Linuksa z systemem „alternatyw” - czyli w Debianie lub jej pochodną Ubuntu - jest użycie update-java-alternatives polecenie.

update-java-alternatives -l - wyświetli listę zainstalowanych wersji Java

[sudo] update-java-alternatives -s - przełączy się na żądaną wersję

Źródło


TO! Dziękuję bardzo. Chciałbym móc dać ci więcej punktów w Internecie, ale nie sądzę, że mam jeszcze takie prawo.
— Nenotlep

10

Możesz uruchomić sudo update-alternatives --config javai wybrać JDK 7, jeśli jest zainstalowany.


Okej, mówi, że mam dwa JKD7 zainstalowane jeden status aukcji jako auto drugiego podręcznika. Czy jest jakaś różnica?
— Wingsuit


„Każda grupa łączy jest w dowolnym momencie w jednym z dwóch trybów: automatycznym lub ręcznym. Gdy grupa znajduje się w trybie automatycznym, system alternatywny automatycznie decyduje, po zainstalowaniu i usunięciu pakietów, czy i jak zaktualizować łącza W trybie ręcznym system alternatyw nie zmieni linków, pozostawiając wszystkie decyzje administratorowi systemu. ”
— mpen

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.