Установка Java с помощью apt в Ubuntu

Blog

Программные модули Java и виртуальной машины JVM часто используют в работе различных приложений, например Netflix, Spotify, Uber. Поэтому важно уметь инсталлировать на машину свободные пакеты и альтернативные релизы от Oracle – JRE (Java Runtime Environment) и JDK (Java Development Kit). В этой статье рассмотрим процесс установки Java в Ubuntu при помощи apt и выберем предпочитаемую версию.

Установка Java С Помощью Apt В Ubuntu

Подготовка

Понадобится сервер с предустановленной Ubuntu 18.03 и настроенным файрволом, с учетными записями sudo и root (с привилегиями и без них). Вместо самостоятельной настройки можно арендовать готовую виртуальную машину у провайдера cloud.timeweb.com. Такой подход позволит быстрее разобраться, как установить Java на Линукс.

Процесс инсталляции JRE/JDK

Простейший способ обзавестись системой – остановиться на релизе, включенном в стандартный пакет Ubuntu. В ОС версии 18.03 поставляется Open JDK версии 10/11, представляющий собой пакеты JRE и JDK с открытыми исходниками. Первый вариант был в дистрибутиве до осени 2018 г., а после указанной даты стал использоваться второй.

Предварительно необходимо скачать обновления на указатель пакетов:

sudo apt update

Очередным шагом перед установкой версии Open JDK рекомендуется убедиться, выполнялась ли инсталляция Java до этого момента:

java -version

Если машина еще «чистая», пользователь увидит на экране информацию:

Command 'java' not found, but can be installed with:
apt install default-jre
apt install openjdk-11-jre-headless
apt install openjdk-8-jre-headless
apt install openjdk-9-jre-headless

Теперь можно устанавливать сам пакет Open JDK:

sudo apt install default-jre

Результат выполнения команды позволит запускать практически любые приложения, созданные на языке программирования Java. По завершении желательно проверить наличие среды JRE, как и до этого убедиться в ее отсутствии. После ввода команды java –version будет отображено:

openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)

Чтобы обеспечить возможность компиляции и запуска даже специфических приложений в дополнение понадобится еще и пакет JDK. Выполняется это командой:

sudo apt install default-jdk

Перед началом работы желательно проверить версию компилятора:

javac -version

Вывод будет выглядеть так (при штатной работе):

javac 10.0.1

Выбор конкретной версии Open JDK

Пользователей не всегда устраивает установка стандартной версии JRE/JDK, предлагаемой по умолчанию. Это легко исправить, выбрав релиз вручную, например, исходя из требований конкретного продукта.

Open JDK 8

Версия Java 8 считается наиболее «живучей». Несмотря на прекращение официальной поддержки еще в 2019-м году, ее продолжают использовать в широком перечне программ. Чтобы установить ее вручную, выполняют команду:

sudo apt install openjdk-8-jdk

Традиционно проверяем, выполнена ли установка:

java –version

На экран будет выведена информация:

openjdk version "1.8.0_162"
OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1-b12)
OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)

Open JDK 10/11

В репозитории Ubuntu имеется и обновленный пакет версии 10/11. Им можно воспользоваться, если встроенный перестал работать или речь идет о нестандартной сборке, откуда было удалено «все лишнее». Инсталляция выполняется командами:

sudo apt install openjdk-11-jdk
sudo apt install openjdk-11-jre

Установка Oracle JDK

В ряде случаев может понадобиться пакет от Oracle JDK. Актуальной версией Java здесь является 8-й релиз. Перед инсталляцией добавляют хранилище пакетов:

sudo add-apt-repository ppa:webupd8team/java

Результат на экране:

Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/j
dk9-downloads-3848520.html
The PPA supports Ubuntu 18.04, 17.10, 16.04, 14.04 and 12.04.
More info (and Ubuntu installation instructions):
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
Debian installation instructions:
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html
For Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html
More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Press [ENTER] to continue or Ctrl-c to cancel adding it.

После нажатия клавиши Enter нужно сделать обновление перечня пакетов:

sudo apt update

И осуществить установку Java 8:

sudo apt install oracle-java8-installer

После загрузки пакета система предложит лицензионное соглашение, сама инсталляция запустится только после его подтверждения.

Управление Java

На одну машину допускается инсталлировать несколько копий платформы Java. Вариант, который применяется по умолчанию, легко увидеть в команде:

sudo update-alternatives --config java

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

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

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode

Теперь достаточно ввести номер требуемой версии или нажать Enter, чтобы сохранить настройки (пункт помечен «звездочкой»). То же применимо для других модулей, к примеру, компилятора javac или keytool, javadoc, jarsigner и пр.:

sudo update-alternatives --config javac

Настройка переменной JAVA_HOME

В большинстве приложений на Java с помощью переменной среды JAVA_HOME выясняют папку, куда установлена платформа. Чтобы определить это, понадобится команда:

sudo update-alternatives --config java

Результат будет выведен на экран:

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

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode
Press <enter> to keep the current choice[*], or type selection number:

В приведенном примере каталоги имеют значение:

  1. Open JDK 11 – /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
  2. Open JDK 8 – /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java.
  3. Oracle Java 8 – /usr/lib/jvm/java-8-oracle/jre/bin/java.

Теперь нужно скопировать путь к папке для размещения выбранного пакета, открыть папку /etc/environment в nano для редактирования:

sudo nano /etc/environment

Затем внести новую строку и вставить ранее помеченный путь к папке:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/"

Теперь переменная JAVA_HOME и указанный командой путь установки примет одинаковый вид для всех учетных записей. Правда, сначала нужно выйти из файла с сохранением внесенных изменений, а затем загрузить для применения новых условий к активному сеансу:

source /etc/environment

Чтобы выяснить, принялись ли изменения переменной среды, введите:

echo $JAVA_HOME

Завершение процедуры подтверждает вот такая информация на экране:

/usr/lib/jvm/java-11-openjdk-amd64/bin/

Но это произойдет для текущего пользователя, остальным понадобится перезагрузить систему.

Выводы

Вот мы и разобрались в установке стандартных версий JRE/JDK, в том числе официальных релизов от Oracle. После инсталляции платформы можно использовать приложения, разработанные на Java и зависящие от внешних модулей? без ограничений.

Telegram
VK
Скопировать ссылку

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону