Installing JDKs on Ubuntu for developers

Поскольку примерно полтора года тому назад Oracle отозвала DLJ GNU/Linux дистрибутивы  потеряли возможность включать версию Java от Sun/Oracle. Только OpenJDK. Почему это проблема я уже писал раньше.

К сожалению, OpenJDK не всегда устраивает. Есть некоторые нюансы. Например, любимая мной среда раработки IntelliJ IDEA, по прежнему, рекомендует использовать Oracle JRE для своей работы. Что на самом деле странно, особенно учитывая тот факт, что Oracle Java 7
построена на основе кодовой базы OpenJDK, а не Sun.

И вот недавно мне, как разработчику, пришлось столкнуться с тем, что мне потребовалось на одном компьютере иметь сразу 5 вариантов JDK. Под катом как это можно сделать максимально быстро.

Вот версии Java, которые мне были нужны (поскольку мне они все нужны как Java
разработчику, то мне нужны именно JDK, не JRE):

  • OpenJDK 6 
  • OpenJDK 7
  • Oracle Java 6
  • Oracle Java 7
  • Oracle Java 8 (до кучи)

Причем каждая их этих JDK мне нужна последней, актуальной, версии.

Установка двух первых проблем не представляет:

sudo apt-get install openjdk-6-jdk
sudo apt-get install openjdk-7-jdk

При установке этих пакетов рекомендуется установить ряд дополнительных пакетов (suggested packages). Это, в основном, шрифтовые пакеты и то, что с ними связано. Рекомендую установить их так же. Некторых пакетов, в репозитории, возможно, уже нет. Например, мне (xubuntu 12.10) для установки openjdk-6-jdk  было рекомендовано установить такие пакеты:

visualvm sun-java6-fonts fonts-ipafonts-gothic fonts-ipafonts-mincho ttf-telugu-fonts ttf-bengali-fonts

Однако, пакета sun-java6-fonts не нашлось. Не мудрствуя я удалил этот пакет из установки.
Есть один важный нюанс. Последний уставноленный пакет  java будет считаться java по умолчанию (дефолтная). В дальнейшем дефолтную java можно будет поменять, но я делал так, чтобы последняя установленная java оказалась той, что мне будет нужна чаще всего, в том числе для IDEA. Это Oraсle Java 7. Какая именно версия java сейчас является дефолтной можно проверить так:

java -version

Итак, теперь установка Oracle Java. Для этого я воспользуюсь вот этим проектом. А здесь есть подробная информация. У этих репозиториев есть пара недостатоков, один из которых для меня недостатком не является – там нельзя установить отдельно JRE. Только весь JDK. Второй серьезнее. В процессе установки пакета настоящий дистрибутив Java скачивается с серверов Oracle. Которые, зачастую, скоростью не блещут.

Собственно, повторю основную информацию из выше приведнной статьи здесь.

Сперва добавим PPA репозиторий:

sudo add-apt-repository ppa:webupd8team/java

Согласимся с добавлением репозитория. И затем делаем:

sudo apt-get update

Как только все репозитории будут перечитаны, можно устанавливать JDK:

sudo apt-get install oracle-java6-installer

Затем аналогичным образом устанавливаю 8-ю java (почему-то она закачивалась очень долго, скорость не превышала 200КиБ/с, при том, что остальные закачивались со скоростью много бльше 1МиБ/с).

И последней устанавливаю 7-ю java, что бы она осталась дефолтной.

Если нужно сменить дефолтную java, то можно воспользоваться командой update-java-alternatives.

Например, посмотреть имеющиеся у Вас версии java:

sudo update-java-alternatives --list

У меня получился такой список:

java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-6-oracle 1062 /usr/lib/jvm/java-6-oracle
java-7-oracle 1064 /usr/lib/jvm/java-7-oracle
java-8-oracle 1063 /usr/lib/jvm/java-8-oracle

Теперь можно сменить дефолтную java, например:

sudo update-java-alternatives --set java-1.7.0-openjdk-amd64

Я получил несколько сообщений об ошибке:

update-alternatives: error: no alternatives for mozilla-javaplugin.so.
update-alternatives: error: no alternatives for xulrunner-1.9-javaplugin.so.
update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so

Повидимому, это потому, что у меня не был установлен плагин для браузера. В моем случае, это не важно.

Все. Java установлена. Можно приступать к установке любимой IDEA и пора уже работать. :))

 

Leave a Reply