Установка Java в Ubuntu 18.04¶
Java и JVM (виртуальная машина Java) требуются для многих видов программного обеспечения, включая Tomcat, Jetty, Glassfish, Cassandra и Jenkins.
Это руководство поможет вам научиться устанавливать различные версии Java Runtime Environment (JRE) и Java Developer Kit (JDK) с помощью apt . Вы установите OpenJDK, а также официальные пакеты от Oracle. Затем вы выберете версию, которую предпочитаете использовать в своих проектах. После этого вы сможете использовать JDK для разработки программного обеспечения и Java Runtime для запуска программного обеспечения.
Установка JRE/JDK по умолчанию¶
Самый простой вариант установки Java — использовать версию, входящую в пакет Ubuntu. По умолчанию в пакет Ubuntu 18.04 входит Open JDK (версия JRE и JDK с открытым исходным кодом).
Данный пакет устанавливает версию OpenJDK 10 или 11.
- До сентября 2018 г. устанавливалась версия OpenJDK 10.
- После сентября 2018 г. устанавливается версия OpenJDK 11.
Для установки этой версии нужно вначале обновить указатель пакетов:
Затем нужно проверить, выполнялась ли установка Java ранее:
Если установка Java не выполнялась, вы увидите следующие результаты:
OutputCommand 'java' not found, but can be installed with:apt install default-jreapt install openjdk-11-jre-headlessapt install openjdk-8-jre-headlessapt install openjdk-9-jre-headless
Запустите следующую команду для установки OpenJDK:
Эта команда выполняет установку среды Java Runtime Environment (JRE). Она позволяет запускать практически любое программное обеспечение Java.
Проверьте установку с помощью следующей команды:
Вывод должен выглядеть следующим образом:
Outputopenjdk version "10.0.1" 2018-04-17OpenJDK 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:
Проверьте установку JDK, проверив версию javac, компилятора Java:
Вывод должен выглядеть следующим образом:
Теперь посмотрим, как указать конкретную версию OpenJDK для установки.
Установка конкретных версий OpenJDK¶
Хотя вы можете просто установить пакет OpenJDK по умолчанию, вы также можете установить и другие версии OpenJDK.
OpenJDK 8¶
Java 8 — текущая версия с долгосрочной поддержкой, которая все еще поддерживается широким спектром приложений, хотя ее публичная поддержка заканчивается в январе 2019 г. Для установки OpenJDK 8 нужно выполнить следующую команду:
Для проверки установки используется команда
Вывод будет выглядеть следующим образом:
Outputopenjdk 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 используется следующая команда:
Чтобы установить только JRE, нужно использовать следующую команду:
Теперь посмотрим, как установить официальные версии JDK и JRE от Oracle.
Установка Oracle JDK¶
Если вы хотите установить официально распространяемую версию Oracle JDK, вам нужно добавить новое хранилище пакетов для версии, которую вы хотите использовать.
Чтобы установить Java 8 (последняя версия LTS), нужно вначале добавить для нее хранилище пакетов:
При добавлении хранилища выводится сообщение следующего вида:
outputOracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Java files in this PPA.Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.htmlUpdate: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.htmlThe 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.htmlDebian installation instructions:- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.htmlFor Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.htmlMore info: https://launchpad.net/~webupd8team/+archive/ubuntu/javaPress [ENTER] to continue or Ctrl-c to cancel adding it.
Нажмите ENTER, чтобы продолжить. Затем обновите список пакетов:
После обновления списка пакетов выполните установку Java 8:
Ваша система загрузит JDK от Oracle и предложит вам принять лицензионное соглашение. После принятия условий соглашения будет выполнена установка JDK.
Теперь рассмотрим, как выбрать версию Java, которую вы хотите использовать.
Управление Java¶
На одном сервере может быть установлено несколько версий Java. Задать версию по умолчанию можно через командную строку с помощью команды update-alternatives.
Если вы установили все версии Java, перечисленные в этом обучающем модуле, результат будет выглядеть так:
OutputThere 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):
Также эту команду можно использовать для настройки других команд, в том числе keytool, javadoc, jarsigner и т. д.
Настройка переменной среды JAVA_HOME¶
Многие программы, написанные на Java, используют переменную среды JAVA_HOME для определения каталога установки Java.
Чтобы задать эту переменную среды, нужно предварительно определить место установки Java. Используйте команду update-alternatives:
Эта команда показывает каждую установку Java и путь установки:
OutputThere 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 modePress to keep the current choice[*], or type selection number:
В данном случае пути установки выглядят следующим образом:
- OpenJDK 11 находится в каталоге
/usr/lib/jvm/java-11-openjdk-amd64/bin/java. - OpenJDK 8 находится в каталоге
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java. - Oracle Java 8 находится в каталоге
/usr/lib/jvm/java-8-oracle/jre/bin/java.
Скопируйте путь каталога установки предпочитаемой версии. Откройте каталог /etc/environment в nano или другом текстовом редакторе:
Добавьте в конце этого файла следующую строку и замените выделенный путь скопированным путем: /etc/environment
При изменении файла будет задан путь JAVA_HOME для всех пользователей системы.
Сохраните файл и выйдите из редактора.
Снова загрузите файл, чтобы применить изменения к текущему сеансу:
Убедитесь, что переменная среды задана:
Вы увидите путь, который только что задали:
Другим пользователям для применения этого параметра нужно будет выполнить команду source /etc/environment или выйти из системы и снова войти в нее.