Установка Oracle Java 8, 9 в Ubuntu (из репозитория ppa).

В этой статье я расскажу, как установить Java 8, 9 от компании Oracle наиболее простым способом из репозитория ppa.

Предисловие.

Раньше из этого ppa репозитория можно было установить Java версии 6 и 7. Так как в этом репозитории нет никаких бинарных пакетов Java, а только скрипты для скачивания, установки, прописывания путей и тд. То есть, всё то, что нужно делать ручками, делается с помощью одной команды в терминале. Но компания Oracle анонсировала, что Java версии 6 и 7 теперь доступны для скачивания только с учётной записью Oracle. Поэтому Andrei Alin (владелец этого репозитория ppa) убрал скрипты для этих версий. Это если кратко, а знающие английский могут прочесть подробнее об этой ситуации в первоисточнике: Why Oracle Java 7 And 6 Installers No Longer Work .

Установка Oracle Java 8, 9 в Ubuntu.

Чтобы установить Oracle Java 8, 9 из репозитория, откройте терминал и выполните следующие команды.

Для начала добавляем репозиторий в систему и обновляем информацию о пакетах в репозиториях. Откройте терминал и выполните следующие команды:

sudo add-apt-repository ppa:webupd8team/java
sudo apt update

Для установки Java 8 выполните следующую команду:

sudo apt install oracle-java8-installer

Для установки Java 9 выполните следующую команду:

sudo apt install oracle-java9-set-default

Автоматически принимать лицензию Oracle при установке Java.

В процессе установки вам нужно принять лицензию Oracle в терминале. Но перед установкой можно воспользоваться следующими командами в соответствии с версией, чтобы автоматически принять лицензию. Это вовсе не обязательно выполнять, но есть такая возможность.

Автоматически принимать лицензию Oracle при установке Java 8:

echo oracle-java8-installer shared/accepted-oracle-licence-v1-1 boolean true | sudo /usr/bin/debconf-set-selections

Автоматически принимать лицензию Oracle при установке Java 9:

echo oracle-java9-installer shared/accepted-oracle-license-v1-1 boolean true | sudo /usr/bin/debconf-set-selections

Проверка версии установленной Java.

После установки проверяем в терминале версию, непосредственно, java машины:

java -version

Получаем:

И для разработчиков Java также важна версия компилятора javac:

javac -version

Получаем:

Можно установить несколько версий Java вместе.

Когда вы устанавливаете платформу Java командами, представленными выше, то после установки по умолчанию устанавливается та версия, которую вы установили последней. К примеру, вы поставили сначала Java 9, а потом поставили Java 8, то по умолчанию в системе будет использоваться Java 8. А всё потому, что помимо пакета Java ещё ставится пакет oracle-java-set-default, который и запускает прописывание путей в update-alternatives и системных переменных Java.

Для того, чтобы установить только платформу Java, без прописывания её по умолчанию в системе, нужно вводить следующие команды для установки соответственно.

Установка только пакета Java 8:

sudo apt install --no-install-recommends oracle-java8-installer

Установка только пакета Java 9:

sudo apt install --no-install-recommends oracle-java9-installer

Переключение версии Java.

Чтобы поменять версию платформы Java по умолчанию, а также удалить остальные версии Java, установленные из этого репозитория, выполните следующую команду соответственно.

Для того, чтобы установить Java 8 по умолчанию в системе, выполните следующую команду в терминале:

sudo apt install oracle-java8-set-default

Для того, чтобы установить Java 9 по умолчанию в системе, выполните следующую команду в терминале:

sudo apt install oracle-java9-set-default

Так как это радикальный способ и удаляет другие версии Java, можно воспользоваться и системными инструментами для переключения Java, а именно update-java-alternatives.

Чтобы посмотреть все версии java, выполняем следующую команду в терминале:

sudo update-java-alternatives --list

У нас будет примерно такой список:

Для переключения версии Java на 8 версию вводим следующую команду:

sudo update-java-alternatives --set java-9-oracle

Для переключения версии Java на 9 версию вводим следующую команду:

sudo update-java-alternatives --set java-9-oracle

Думаю понятно, что вписываем одно из названий, которые выдала команда --list.

Но это не всё, есть ещё переменные среды, к примеру $JAVA_HOME, которая зачастую используется для запуска Java приложений в скриптах этих самых приложений.

Переменные среды для Java находятся в файле /etc/profile.d/jdk.sh , редактируем данный файл с помощью любого удобного вам текстового редактора (в примере gedit):

sudo gedit /etc/profile.d/jdk.sh

Меняем значения переменной среды на значение вашей java, установленной по умолчанию в системе. В этом репозитории всё идентично сделано, поэтому вам просто надо поменять 8 на 9 или наоборот.

После изменения файла, применяем его в системе (или перегружаем компьютер):

source /etc/profile.d/jdk.sh

P.S.

Если вам нужна платформа Java для запуска приложений, то все эти заморочки с переключениями версий вам явно не нужны. Просто ставьте последнюю версию Java и всё.

Если вы начали интересоваться разработкой на Java, то можете почитать следующую мою статью про среду разработки:

Установка Intellij Idea в Ubuntu.

Удаление Oracle Java 8, 9 из Ubuntu.

Для того, чтобы удалить Oracle Java 8, 9 из Ubuntu, откройте терминал и выполните следующие команды:

sudo add-apt-repository --remove ppa:webupd8team/java
sudo apt update
sudo apt remove oracle-java8-installer oracle-java8-set-default oracle-java9-installer oracle-java9-set-default

Вот и всё.