Установка Java в Ubuntu 20.04
Инструкция о том, какие есть версии Java и как установить их в Ubuntu.
Вступление
Java — популярный язык разработки, на котором написано большое количество приложений, поэтому часто требуется запускать программное обеспечение на Java. Для этого Java необходимо установить и определить переменную JAVA_HOME. В этой инструкции расскажем, как выбрать версию Java и как ее поставить на Ubuntu 20.04.
Перед установкой
Мы будем устанавливать Java на облачном сервере с ОС Ubuntu 20.04. Чтобы заказать сервер, откройте панель управления Selectel. Перейдите в раздел Облачная платформа ⟶ Серверы. Нажмите Создать сервер.
В качестве источника для сервера выберите готовый образ Ubuntu 20.04 LTS 64-bit.
Добавьте подсеть с новым плавающим IP-адресом. Он нужен для подключения к облачному серверу по SSH.
Укажите остальные настройки, проверьте стоимость сервера и нажмите Создать. Подробная инструкция по созданию сервера есть в базе знаний.
После создания сервера подключитесь к нему по SSH с помощью команды:
ssh root@server_IP
В качестве server_IP используйте плавающий адрес, присвоенный серверу. Плавающий IP-адрес можно посмотреть на странице сервера вкладка Порты. Для подключения понадобится пароль для root, его можно найти на вкладке Консоль.
Облачные серверы Selectel
Какую версию Java выбрать
Сейчас версии Java выходят приблизительно раз в полгода. На момент подготовки статьи самая свежая версия — Java 18.
Чем JRE отличается от JDK
- JRE — среда выполнения, Java Runtime Environment. Наиболее важный компонент JRE — java, он запускает JVM (виртуальную машину Java). JVM же запускает ранее скомпилированные приложения Java, поэтому для создания новых программ JRE недостаточно.
- JDK — Java Development Kit, полноценный SDK, набор для разработки приложений на Java. В JDK входит JRE, компилятор Java (javac) и разные утилиты и инструменты (например, отладчик jdb).
Большое количество приложений на Java требуют установленную JRE для запуска. Если вам требуется только запускать приложения на Java, подойдет JRE.
Если вы планируете разрабатывать приложения, установите JDK. Часто вместо Java используется понятие JDK.
OpenJDK или Oracle JDK
Исходный код Java существует в проекте OpenJDK. Для работы нужны сборки, совместимые со спецификациями Java SE.
Есть две сборки Java:
- OpenJDK — опенсорсная версия, поддерживается Oracle и сообществом разработчиков;
- Oracle JDK — проприетарная сборка, выпускается и поддерживается компанией Oracle.
Разницы между свежими релизами Oracle JDK и OpenJDK практически нет. Основное отличие между ними — это лицензирование. С 2019 года для коммерческого использования Oracle JDK нужно покупать лицензию, при этом Oracle будет поставлять обновления. Для некоммерческих целей Oracle JDK бесплатна. OpenJDK можно использовать бесплатно в любых целях.
Установка Open JDK
Установка Open JDK выполняется через apt. Перед установкой обновите списки пакетов:
sudo apt update
Проверьте, установлена ли Java на сервере:
java -version
Если Java не установлена, в выводе будут предложены доступные версии и команды для их установки:
Command 'java' not found, but can be installed with: apt install openjdk-11-jre-headless # version 11.0.15+10-0ubuntu0.20.04.1, or apt install default-jre # version 2:1.11-72 apt install openjdk-13-jre-headless # version 13.0.7+5-0ubuntu1~20.04 apt install openjdk-16-jre-headless # version 16.0.1+9-1~20.04 apt install openjdk-17-jre-headless # version 17.0.3+7-0ubuntu0.20.04.1 apt install openjdk-8-jre-headless # version 8u312-b07-0ubuntu1~20.04
Можно установить дефолтную версию Java (поставляется с Ubuntu) или поставить отдельные версии.
Установка версии по умолчанию
По умолчанию в стандартные репозитории Ubuntu 20.04 входит Open JDK 11. Чтобы ее установить, используйте:
sudo apt install default-jre
Проверьте, установилась ли версия:
java -version
openjdk version "11.0.15" 2022-04-19 OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.20.04.1) OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.20.04.1, mixed mode, sharing)
JRE полностью подходит для запуска любого ПО Java. Но, как мы говорили ранее, для компиляции помимо JRE может понадобиться и JDK. Чтобы установить дефолтную версию JDK (при этом установится JRE):
sudo apt install default-jdk
Проверьте версию установившегося компилятора javac:
javac -version
javac 11.0.15
Установка определенной версии OpenJDK
Если вы хотите поставить определенную версию OpenJDK, то укажите версию в команде.
Например, для установки одиннадцатой версии:
sudo apt install openjdk-11-jdk
Например, можно установить OpenJDK 8, на которой работает большое количество приложений:
sudo apt install openjdk-8-jdk
Посмотрите, какая версия Java установилась:
java -version
Установка Oracle Java (Oracle JDK)
Перейдите на официальный сайт Oracle, чтобы скачать архив нужной версии. Мы будем скачивать Java SE Development Kit 16, на момент выпуска статьи это архивный релиз для Java SE Platform.
Скачайте Linux x64 Compressed Archive (для примера мы скачаем архив не на сервер, а на локальный компьютер):
Отключитесь от сервера и скопируйте архив на сервер:
scp Downloads/jdk-16_linux-x64_bin.tar.gz root@server_ip:~
Downloads/jdk-16_linux-x64_bin.tar.gz — путь до архива на вашем компьютере.
Когда загрузка закончится, подключитесь по SSH к облачному серверу. Уже на сервере распакуйте архив:
tar zxvf jdk-16_linux-x64_bin.tar.gz
Добавьте PPA-репозиторий с установщиком Java — linuxuprising:
sudo add-apt-repository ppa:linuxuprising/java
В выводе появится информация о репозиториях и версиях. Нажмите Enter для продолжения.
Обновите списки пакетов:
sudo apt update
sУстановите Oracle JDK 18:
sudo apt install oracle-java16-installer --install-recommends
Подтвердите соглашение о лицензии, прокрутив до конца и нажав Ok:
Выберите Yes:
Посмотрите, какая версия установилась:
java -version
Ответ будет выглядеть так:
java version "16.0.1" 2021-04-20 Java(TM) SE Runtime Environment (build 16.0.1+9-24) Java HotSpot(TM) 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)
Проверьте, правильная ли версия компилятора javac установилась:
javac -version
javac 16.0.1
Переключение между несколькими версиями Java
Вы можете установить или изменить дефолтную версию Java, если, например, на сервере установлено несколько версий одновременно:
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 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-16-oracle/bin/java 1091 manual mode 3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode Press to keep the current choice[*], or type selection number:
Нажмите Enter, чтобы оставить текущий выбор, или введите номер из столбца Selection той версии, которую хотите сделать дефолтной версией.
То же самое можно сделать с версиями javac:
update-alternatives --config javac
Переменная JAVA_HOME
Множество приложений на Java используют JAVA_HOME. Это переменная окружения — она указывает на путь, по которому установлена Java.
Сначала определите путь, по которому установлена Java:
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 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-16-oracle/bin/java 1091 manual mode 3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode Press to keep the current choice[*], or type selection number:
В выводе показаны следующие пути:
- OpenJDK 8 — /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java;
- OpenJDK 11 — /usr/lib/jvm/java-11-openjdk-amd64/bin/java;
- Oracle Java 16 — /usr/lib/jvm/java-16-oracle/bin/java.
Скопируйте путь до активной версии, затем нажмите Enter. В нашем примере активна Oracle Java 16.
Откройте директорию /etc/environment (это предпочтительный путь до JAVA_HOME) в редакторе nano:
sudo nano /etc/environment
Добавьте строку с JAVA_HOME в конце файла. При этом не включайте в путь часть с bin/:
JAVA_HOME="/usr/lib/jvm/java-16-oracle"
Введите Ctrl+X, затем Y+Enter — это сохранит файл и закроет редактор. Путь будет заменен.
source /etc/environment
Проверьте, что путь до JAVA_HOME задан верно:
echo $JAVA_HOME
В выводе должна быть именно эта директория:
/usr/lib/jvm/java-16-oracle
Удаление Java
OpenJDK
Чтобы полностью удалить все версии OpenJDK, которые были установлены, используйте команду:
sudo apt purge openjdk*
Для удаления только конкретной версии нужно ее указать, например:
sudo apt purge openjdk-11*
sudo apt purge openjdk-8*
Oracle Java
Чтобы полностью удалить Oracle Java:
sudo apt purge oracle-java*
Для удаления конкретной версии, например, версии 11:
sudo apt purge oracle-java11-installer
Теперь можно удалить PPA-репозиторий:
sudo add-apt-repository --remove ppa:linuxuprising/java
Заключение
В этой инструкции мы рассмотрели отличия версий Java. Посмотрели, как можно запустить виртуальную машину Java (JVM) и как поставить в Ubuntu сразу несколько версий Java.
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Java для Linux – загрузка и установка всех версий
Часто пользователь хочет запустить в Linux программу, написанную на Java, но в результате получает кучу ошибок. Причина этому – отсутствие некоторых программных пакетов, которые нужны для корректной работы языка программирования. В статье расскажем, как правильно установить Java в Linux.
Навигация скрыть
- Возможности Java
- Системные требования
- Инструкция по установке на Linux
Возможности Java
Java – популярный язык программирования. На нем разработано тысячи приложений.
Чтобы Джава корректно работала в ОС Linux, следует инсталлировать два программных модуля — JRE и JDK.
Предназначение:
- JRE – среда, позволяющая запускать программные продукты, которые написаны на языке Java.
- JDK – пакет, предназначенный для создания программ. В модуль входят компилятор, документация по языку, библиотека стандартных классов и т. д.
Пакеты JRE и JDK в первую очередь понадобятся тем, кто решил разработать собственное ПО. Также язык Джава будет полезен рядовым пользователям. Ведь программные продукты, написанные на рассматриваемом ЯП, попросту не запускаются без установленных пакетов Runtime Environment и Development Kit (к примеру, Майнкрафт).
Системные требования
Системные требования зависят от версии программных пакетов. К примеру, Джава 8 работает на Ubuntu 12.04 и выше. А 7-я модификация программного обеспечения от Oracle поддерживается версией Убунту 10.04 и ниже.
Минимальные требования:
Операционная система Linux: Oracle, Red Hat Enterprise,
Suse Enterprise Server, UbuntuБраузер Firefox 3.6 и выше Скачать Java
Скачать все версии Java для Linux можно на официальном сайте компании Oracle.
Программные пакеты Runtime Environment и Development Kit распространяются по свободной лицензии. А это значит, что скачать их на Linux можно бесплатно.
На сайте представлено 4 установочных файла:
- Линукс RPM – модификация с поддержкой RPM для 32-разрядной системы;
- Линукс – модификация для 32-разрядной системы;
- Линукс x64 – модификация для 64-разрядной системы;
- Линукс x64 RPM – модификация с поддержкой RPM для 64-разрядной системы.
Инструкция по установке на Linux
В операционной системе Linux установка Java не займет много времени. ПО можно инсталлировать, прописав в терминале пару команд.
- Перейдите в директорию, в которую нужно инсталлировать программу. Для этого используйте команду cd.

- Переместите скачанный архив в текущую директорию.
- Распакуйте архив, используя команду tar zxvf имя_файла. После завершения модули Runtime Environment и Development Kit инсталлируются в автоматическом режиме.

Процесс установки Джавы на базе RPM немного отличается:
- Перейдите в режим рут-пользователя. Для этого задействуйте команду su и после этого укажите пароль от учетной записи с особыми правами.

- Удалите из системы ранние версии Джавы. Задействуйте команду rpm с параметром -e. Устанавливать утилиту rpm нужно отдельно.
- Перейдите в директорию, в которую нужно установить программу. Для этого используйте команду cd.
- Распакуйте архив командой rpm с параметром -ivh. После завершения модули JRE и JDK инсталлируются в автоматическом режиме.

Как обновить Java на Linux
Чтобы иметь на компьютере последнюю модификацию JDK и JRE, регулярно обновляйте программные пакеты. Последняя версия Джавы доступна на нашем сайте.
Стоит отметить, что системой предусмотрено автоматическое обновление JDK и JRE. Однако можно инсталлировать последнюю версию Джавы вручную:
- Скачайте архив с новой версией Джавы. Используя запись пользователя с особыми правами, скопируйте загруженный файл в папку Java. Она лежит в директории local, которая расположена в папке use.
- Разархивируйте файл. Сей процесс уже был описан выше.
- Отредактируйте системный файл под названием profile. Он находится в директории etc. В конце файла отредактируйте переменные среды (JAVA_HOME и JRE_HOME). Поменяйте номер версии со старого на новый.
Установка Java 8-17 на Linux Печать
Теперь используйте следующие команды для обновления кэша apt, а затем установите Java 17 в систему Linux*.
# sudo add-apt-repository ppa:linuxuprising/java
# sudo apt-get update # sudo apt-get install oracle-java17-installer2. Установка Java 11 на Linux
Теперь используйте следующие команды для обновления кэша apt, а затем установите Java 11 в систему Linux*.
# sudo add-apt-repository ppa:linuxuprising/java
# sudo apt-get update # sudo apt-get install openjdk-11-jdk3. Установка Java 8 на Linux
Теперь используйте следующие команды для обновления кэша apt, а затем установите Java 8 в систему Linux*.
# sudo add-apt-repository ppa:linuxuprising/java
# sudo apt-get update # sudo apt install openjdk-8-jdk*(Ubuntu, Debian)
5. Проверить версию Java
Наконец, вы успешно установили Oracle Java в свою систему Debian. Давайте используем следующую команду для проверки установленной версии Java в вашей системе.
Установка Java с apt в Ubuntu 20.04

Java и JVM (виртуальная машина Java) требуются для многих видов программного обеспечения, включая Tomcat, Jetty, Glassfish, Cassandra и Jenkins.
Это руководство поможет вам научиться устанавливать различные версии Java Runtime Environment (JRE) и Java Developer Kit (JDK) с помощью apt . Вы установите OpenJDK, а также официальную версию JDK от Oracle. Затем вы выберете версию, которую предпочитаете использовать в своих проектах. После этого вы сможете использовать JDK для разработки программного обеспечения и Java Runtime для запуска программного обеспечения.
Предварительные требования
Для данного обучающего руководства вам потребуется следующее:
- Сервер Ubuntu 20.04, настроенный в соответствии с указаниями обучающего руководства Начальная настройка сервера Ubuntu 20.04, а также пользователь без прав root с привилегиями sudo и брандмауэр.
Установка JRE/JDK по умолчанию
Самый простой вариант установки Java — использовать версию, входящую в пакет Ubuntu. По умолчанию в пакет Ubuntu 20.04 входит Open JDK 11 (версия JRE и JDK с открытым исходным кодом).
Для установки этой версии нужно вначале обновить указатель пакетов:
Затем нужно проверить, выполнялась ли установка Java ранее:
Если установка Java не выполнялась, вы увидите следующие результаты:
OutputCommand 'java' not found, but can be installed with: sudo apt install default-jre # version 2:1.11-72, or sudo apt install openjdk-11-jre-headless # version 11.0.7+10-3ubuntu1 sudo apt install openjdk-13-jre-headless # version 13.0.3+3-1ubuntu2 sudo apt install openjdk-14-jre-headless # version 14.0.1+7-1ubuntu1 sudo apt install openjdk-8-jre-headless # version 8u252-b09-1ubuntu1Выполните следующую команду, чтобы установить по умолчанию среду Java Runtime Environment (JRE), которая установит JRE из OpenJDK 11:
JRE позволит вам запускать практически любое программное обеспечение Java.
Проверьте установку с помощью следующей команды:
Вывод должен выглядеть следующим образом:
Outputopenjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)Для компиляции и запуска некоторых специфических программ на базе Java в дополнение к JRE вам может потребоваться комплект разработчика Java Development Kit (JDK). Для установки JDK выполните следующую команду, которая также выполняет установку JRE:
Проверьте установку JDK, проверив версию javac , компилятора Java:
Вывод должен выглядеть так:
Outputjavac 11.0.7Теперь посмотрим, как установить официальные версии JDK и JRE от Oracle.
Установка Oracle JDK 11
Лицензионное соглашение Oracle для Java не разрешает автоматическую установку через менеджеры пакетов. Для установки официальной версии Oracle JDK, которую предлагает Oracle, вам нужно создать учетную запись Oracle и вручную загрузить JDK, чтобы добавить новый репозиторий пакетов для той версии, которую вы собираетесь использовать. Затем вы можете использовать apt для ее установки с помощью скрипта установки от сторонних разработчиков.
Версия JDK от Oracle, которая вам потребуется, должна соответствовать версии скрипта установщика. Чтобы узнать, какая версия вам нужна, перейдите на страницу oracle-java11-installer .
Найдите пакет для Focal, как показано на следующем изображении:

На этом изображении версия скрипта 11.0.7 . В данном случае вам понадобится Oracle JDK 11.0.7. Вам не нужно ничего загружать с этой страницы, вы загрузите скрипт установки через apt .
Затем перейдите на страницу загрузок и найдите версию, которая вам нужна.

Нажмите кнопку JDK Download, и вы увидите экран, отображающий доступные версии. Нажмите на пакет .tar.gz для Linux.

Вы увидите экран, где вам будет предложено принять лицензионное соглашение Oracle. Примите лицензионное соглашение, установив флажок, и нажмите кнопку Download. Начнется загрузка. Возможно, вам потребуется выполнить вход в вашу учетную запись Oracle еще раз до начала загрузки.
После загрузки файла переместите его на ваш сервер. Загрузите файл на сервер на вашем локальном компьютере. В macOS, Linux или Windows, с помощью подсистемы Windows для Linux, используйте команду scp для перемещения файла в домашнюю директорию вашего пользователя sammy . Следующая команда предполагает, что вы сохранили файл Oracle JDK в папку Загрузки на вашем локальном компьютере:
После завершения загрузки файла вернитесь на ваш сервер и добавьте сторонний репозиторий, который поможет вам установить Java от Oracle.
Установите пакет software-properties-common , который добавит команду add-apt-repository в вашу систему:
Затем импортируйте ключ подписи для верификации программного обеспечения, которое вы собираетесь установить:
Вы увидите следующий результат:
Outputgpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg: imported: 1После этого используйте команду add-apt-repository , чтобы добавить репозиторий в список источников пакетов:
Появится следующее сообщение:
OutputOracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian. Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required. The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java Created for users of https://www.linuxuprising.com/ Installation instructions (with some tips), feedback, suggestions, bug reports etc.: . . . Press [ENTER] to continue or ctrl-c to cancel adding itНажмите ENTER , чтобы продолжить установку. Возможно, вы увидите сообщение об отсутствии действительных данных OpenPGP ( no valid OpenPGP data found ), но вы можете спокойно игнорировать его.
Обновите список пакетов, чтобы новое программное обеспечение стало доступным к установке:
Установщик начнет искать Oracle JDK, который вы загрузили в /var/cache/oracle-jdk11-installer-local . Создайте этот каталог и переместите архив Oracle JDK туда:
После этого выполните установку пакета:
Установщик сначала попросит вас принять лицензионное соглашение Oracle. Примите соглашение. После этого установщик извлечет пакет Java и установит его.
Теперь рассмотрим, как выбрать версию Java, которую вы хотите использовать.
Управление Java
На одном сервере может быть установлено несколько версий Java. Задать версию по умолчанию можно через командную строку с помощью команды update-alternatives .
Если вы установили обе версии Java, перечисленные в этом обучающем руководстве, результат будет выглядеть так:
OutputThere are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press to keep the current choice[*], or type selection number:Выберите число, соответствующее версии Java, кототрая будет использоваться по умолчанию, или нажмите ENTER для сохранения текущих настроек.
Это можно сделать и для других команд Java, например, для компилятора ( javac ):
Также эту команду можно использовать для настройки других команд, в том числе keytool , javadoc , jarsigner и т. д.
Настройка переменной среды JAVA_HOME
Многие программы, написанные на Java, используют переменную среды JAVA_HOME для определения каталога установки Java.
Чтобы задать эту переменную среды, нужно предварительно определить место установки Java. Используйте команду update-alternatives :
Эта команда показывает каждую установку Java и путь установки:
OutputThere are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press to keep the current choice[*], or type selection number:В данном случае пути установки выглядят следующим образом:
- OpenJDK 11 находится в каталоге /usr/lib/jvm/java-11-openjdk-amd64/bin/java .
- Java Oracle располагается в каталоге /usr/lib/jvm/java-11-oracle/jre/bin/java .
Скопируйте путь каталога установки предпочитаемой версии. Откройте каталог /etc/environment в nano или другом текстовом редакторе:
В конце этого файла добавьте следующую строку, чтобы заменить выделенный путь на собственный скопированный путь, но не включайте часть пути bin/ :
/etc/environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"При изменении файла будет задан путь JAVA_HOME для всех пользователей системы.
Сохраните файл и выйдите из редактора.
Снова загрузите файл, чтобы применить изменения к текущему сеансу:
Убедитесь, что переменная среды задана:
Вы увидите путь, который только что задали:
Output/usr/lib/jvm/java-11-openjdk-amd64Другим пользователям для применения этого параметра нужно будет выполнить команду source /etc/environment или выйти из системы и снова войти в нее.
Заключение
В этом обучающем модуле вы установили разные версии Java и научились управлять ими. Теперь вы можете устанавливать программное обеспечение, работающее на платформе Java, в том числе Tomcat, Jetty, Glassfish, Cassandra или Jenkins.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
