Установка JDK 7 по умолчанию


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'

Извините, но я интерпретирую эти сообщения как среду выполнения, использующую Java 7, а компилятор использует Java 6?

Правильно ли это, и если да, то как я могу настроить его на использование Java версии 7?

Ответы:


155

Переключение между установленными версиями Java может быть выполнено с помощью update alternativesкоманды.

  • Чтобы получить список установленных платформ Java, запустите следующую команду из терминала:

    sudo update-alternatives --config java

    Это даст вам вывод списка, подобный этому:

    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: 
    

В этом случае работает версия Open JDK 6. Чтобы переключиться на Open JDK версии 7, вы должны выбрать опцию 1в командной строке и нажать Enterклавишу.

Теперь вы будете использовать версию OpenJDK 7. Никаких других изменений не потребуется для переключения ваших версий Java.


Хорошо спасибо. Получу ли я что-нибудь от удаления jkd6?
Вингсьют

@ user142712 Нет проблем. Я считаю, что удаление также удалит старый плагин для браузера, что выгодно с точки зрения безопасности.
Кевин Боуэн

1
Я бы не стал так быстро отвечать на вопрос «Нет проблем». Проверьте oracle.com/technetwork/java/javase/compatibility-417013.html и upstream-tracker.org/java/versions/jdk.html . Нет 100% совместимости между этими двумя основными версиями, и это может произойти (маловероятно, но все же ...), что у вас есть приложение X, которое не может работать должным образом с седьмой версией. До тех пор, пока вы не убедитесь, что проблем не будет, я настоятельно рекомендую оставить оба на всякий случай, если вам нужна предыдущая версия.
rbaleksandar

Просто быть чистым. Комментарий «без проблем» был еще одним способом сказать, что я приветствую вас, я никогда не утверждал, что с вашей установкой Java проблем не будет.
Кевин Боуэн

1
Решение альтернатив обновления, предоставленное этим ответом, переключит только JRE . См ниже для правильного способа переключения всего JDK (компилятора и других инструментов) с помощью одной команды
J. Уиллу

15

Самый голосующий ответ, который предлагает использовать

обновление-альтернатив

только частично отвечает на вопрос. Используя его, вы, скорее всего, в конечном итоге окажетесь в несовместимой среде Java.

Это особенно важно, если у вас есть JDK, а не JRE, так как

[sudo] update-альтернативы --config java

изменит версию для на javaкоманды только , т.е. Repoint основной JRE исполняемый файл.

javacи другие инструменты JDK по-прежнему будут указывать на другую версию Java. Чтобы полностью переключиться, вы должны продолжить update-alternativesдля всех других инструментов.

Собственно , и гораздо проще способ переключения Java версии в дистрибутив Linux с «альтернатив» системы - то есть в Debian или его производное Ubuntu - это использовать обновление в Java-альтернативы команды.

update-java-alternatives -l - выведет список установленных версий Java

[sudo] update-java-alternatives -s - переключится на запрошенную версию

Источник


ЭТО! Огромное спасибо. Хотел бы я дать вам больше очков в Интернете, но я не думаю, что имею это право.
Ненотлеп

10

Вы можете запустить sudo update-alternatives --config javaи выбрать JDK 7, если он установлен.


Ладно, ура, там написано, что у меня установлено два JKD7, один из которых отображает статус auto, а другой - руководство Есть ли разница?
Вингсьют

Здесь есть информация: linux.die.net/man/8/update-alternatives, но я бы выбрал авто.
Фредерик Спанг

«Каждая группа ссылок в любой момент времени находится в одном из двух режимов: автоматический или ручной. Когда группа находится в автоматическом режиме, система альтернатив автоматически определит, как устанавливаются и удаляются пакеты, следует ли обновлять ссылки и как . В ручном режиме система альтернатив не будет изменять ссылки; она будет принимать все решения для системного администратора. "
mpen

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.