Tutorial

Установка Java с `apt` в Ubuntu 18.04

JavaUbuntu 18.04

Автор выбрал фонд Open Internet/Free Speech Fund для получения пожертвования $100 в рамках программы Write for DOnations.

Введение

Java и JVM (виртуальная машина Java) требуются для многих видов программного обеспечения, включая Tomcat, Jetty, Glassfish, Cassandra и Jenkins.

Это руководство поможет вам научиться устанавливать различные версии Java Runtime Environment (JRE) и Java Developer Kit (JDK) с помощью apt . Вы установите OpenJDK, а также официальные пакеты от Oracle. Затем вы выберете версию, которую предпочитаете использовать в своих проектах. После этого вы сможете использовать JDK для разработки программного обеспечения и Java Runtime для запуска программного обеспечения.

Предварительные требования

Для данного обучающего модуля вам потребуется следующее:

  • Сервер Ubuntu 18.04, настроенный в соответствии с указаниями обучающего модуля Начальная настройка сервера Ubuntu 18.04, включая брандмауэр и пользователя с привилегиями sudo и без привилегий root.

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

Самый простой вариант установки Java — использовать версию, входящую в пакет Ubuntu. По умолчанию в пакет Ubuntu 18.04 входит Open JDK (версия JRE и JDK с открытым исходным кодом).

Данный пакет устанавливает версию OpenJDK 10 или 11.

  • До сентября 2018 г. устанавливалась версия OpenJDK 10.
  • После сентября 2018 г. устанавливается версия OpenJDK 11.

Для установки этой версии нужно вначале обновить указатель пакетов:

  • sudo apt update

Затем нужно проверить, выполнялась ли установка Java ранее:

  • java -version

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

Output
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

Запустите следующую команду для установки OpenJDK:

  • sudo apt install default-jre

Эта команда выполняет установку среды Java Runtime Environment (JRE). Она позволяет запускать практически любое программное обеспечение Java.

Проверьте установку с помощью следующей команды:

  • java -version

Вывод должен выглядеть следующим образом:

Output
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)

Для компиляции и запуска некоторых специфических программ на базе Java в дополнение к JRE вам может потребоваться комплект разработчика Java Development Kit (JDK). Для установки JDK выполните следующую команду, которая также выполняет установку JRE:

  • sudo apt install default-jdk

Проверьте установку JDK, проверив версию javac, компилятора Java:

  • javac -version

Вывод должен выглядеть следующим образом:

Output
javac 10.0.1

Теперь посмотрим, как указать конкретную версию OpenJDK для установки.

Установка конкретных версий OpenJDK

Хотя вы можете просто установить пакет OpenJDK по умолчанию, вы также можете установить и другие версии OpenJDK.

OpenJDK 8

Java 8 — текущая версия с долгосрочной поддержкой, которая все еще поддерживается широким спектром приложений, хотя ее публичная поддержка заканчивается в январе 2019 г. Для установки OpenJDK 8 нужно выполнить следующую команду:

  • sudo apt install openjdk-8-jdk

Для проверки установки используется команда

  • java -version

Вывод будет выглядеть следующим образом:

Output
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)

Также можно установить только JRE, для этого нужно выполнить команду sudo apt install openjdk-8-jre.

OpenJDK 10/11

В хранилищах Ubuntu содержится пакет, устанавливающий Java 10 или 11. До сентября 2018 г. этот пакет устанавливал OpenJDK 10. После выпуска Java 11 этот пакет устанавливает Java 11.

Для установки OpenJDK 10/11 используется следующая команда:

  • sudo apt install openjdk-11-jdk

Чтобы установить только JRE, нужно использовать следующую команду:

  • sudo apt install openjdk-11-jre

Теперь посмотрим, как установить официальные версии JDK и JRE от Oracle.

Установка Oracle JDK

Если вы хотите установить официально распространяемую версию Oracle JDK, вам нужно добавить новое хранилище пакетов для версии, которую вы хотите использовать.

Чтобы установить Java 8 (последняя версия LTS), нужно вначале добавить для нее хранилище пакетов:

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

При добавлении хранилища выводится сообщение следующего вида:

output
Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Jav a files in this PPA. Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracl e-java-7-and-6-installers-no.html 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

Ваша система загрузит JDK от Oracle и предложит вам принять лицензионное соглашение. После принятия условий соглашения будет выполнена установка JDK.

Теперь рассмотрим, как выбрать версию Java, которую вы хотите использовать.

Управление Java

На одном сервере может быть установлено несколько версий Java. Задать версию по умолчанию можно через командную строку с помощью команды update-alternatives.

  • sudo update-alternatives --config java

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

Output
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

Выберите число, соответствующее версии Java, кототрая будет использоваться по умолчанию, или нажмите ENTER для сохранения текущих настроек.

Это можно сделать и для других команд Java, например, для компилятора (javac):

  • sudo update-alternatives --config javac

Также эту команду можно использовать для настройки других команд, в том числе keytool, javadoc, jarsigner и т. д.

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

Многие программы, написанные на Java, используют переменную среды JAVA_HOME для определения каталога установки Java.

Чтобы задать эту переменную среды, нужно предварительно определить место установки Java. Используйте команду update-alternatives:

  • sudo update-alternatives --config java

Эта команда показывает каждую установку Java и путь установки:

Output
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. OpenJDK 11 находится в каталоге /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
  2. OpenJDK 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

Добавьте в конце этого файла следующую строку и замените выделенный путь скопированным путем:

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

При изменении файла будет задан путь JAVA_HOME для всех пользователей системы.

Сохраните файл и выйдите из редактора.

Снова загрузите файл, чтобы применить изменения к текущему сеансу:

  • source /etc/environment

Убедитесь, что переменная среды задана:

  • echo $JAVA_HOME

Вы увидите путь, который только что задали:

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

Другим пользователям для применения этого параметра нужно будет выполнить команду source /etc/environment или выйти из системы и снова войти в нее.

Заключение

В этом обучающем модуле вы установили разные версии Java и научились управлять ими. Теперь вы можете устанавливать программное обеспечение, работающее на платформе Java, в том числе Tomcat, Jetty, Glassfish, Cassandra или Jenkins.

Creative Commons License