Установка JDK и JRE под Ubuntu или Debian

 

Будем устанавливать Java на наш линукс. Зачем? Ответ у каждого свой. Лично мне в первую очередь он нужен для работы IDE.

Ради справки надо предупредить что в официальных репозиториях Ubuntu и Debian имеется пакет OpenJDK (openjdk-7-jre) который легко установить штатным менеджером пакетов (apt) или хоть через Software Center на Ubuntu. Но на Ubuntu 14.04 LTS там сейчас лежит версия 7u71 и обновляется не часто. Если вам нужна Java 8 или даже 7-ая но с последними апдейтами… значит читаем дальше и учимся ставить Java руками.

Найти и скачать

Для десктопов все просто: переходим по ссылке на страницу Oracle – Java SE Downloads выбираем нужную версию пакета и качаем к себе.

Консольщикам же придется собирать команду. Пример такой:

# Java 8 JDK
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http://www.oracle.com/; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-linux-x64.tar.gz"

# Java 8 JRE
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http://www.oracle.com/; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jre-8u31-linux-x64.tar.gz"

# Java 7 JDK
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http://www.oracle.com/; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.tar.gz"

# Java 7 JRE
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http://www.oracle.com/; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jre-7u75-linux-x64.tar.gz"

Установка

Для начала нужно распаковать архив

tar -xf jdk-8u31-linux-x64.tar.gz

Распакованные файлы окажутся в новом каталоге ./jdk1.8.0_31 (соответствует вашей версии)

А теперь нужно перенести все в /usr/lib, предварительно создадим там новый каталог jvm

sudo mkdir -p /usr/lib/jvm
sudo mv ./jdk1.8.0_31 /usr/lib/jvm/jdk1.8.31

Наступило время для главного – магическая команда установки новой java

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.31/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.31/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.31/bin/javaws" 1

Потом еще немного магии над пермишенами и паравами доступа к каталогу где лежит jdk

sudo chmod a+x /usr/bin/java
sudo chmod a+x /usr/bin/javac
sudo chmod a+x /usr/bin/javaws
sudo chown -R root:root /usr/lib/jvm/jdk1.8.31

Настройка

Наконец можно сменить версию java по умолчанию для системы

sudo update-alternatives --config java

В ответ мы получим список всех версий java установленных на машину и нужно будет вбить номер той, которую мы намерены выбрать “по умолчанию”

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

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/jre/bin/java          1076      auto mode
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
* 2            /usr/lib/jvm/java-7-oracle/jre/bin/java          1076      manual mode
  3            /usr/lib/jvm/jdk1.8.0/bin/java                   1         manual mode
  4            /usr/lib/jvm/jdk1.8.31/bin/java                  1         manual mode

Press enter to keep the current choice[*], or type selection number: 4
update-alternatives: using /usr/lib/jvm/jdk1.8.31/bin/java to provide /usr/bin/java (java) in manual mode

Теперь можно проверить нашу текущую версию

java -version
 
#
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

Повторим то же самое для других “запускаторов” java

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

Ну вот и все. Мы установили последнюю (или нужную нам) версию java и указали системе использовать ее по умолчанию. Все оказалось просто и заняло не больше 10 минут.

* Следует помнить, что установленная таким методом java не будет обновляться сама и придется повторять эту процедуру если нам будет нужна новая версия. Но преимущество оригинального пакета перед тем что поставляется в репозиториях Ubuntu и Debian вполне велико и стоит наших стараний.

Leave a Reply