Язык Java используется при веб-разработке, написании десктопного софта, создании компьютерных и мобильных игр (Android), а также в научных исследованиях и финансовой сфере. Популярность и распространенность Java объясняется его безопасностью, масштабируемостью приложений и адаптируемостью.
В статье будет подробно описан процесс установки Java на Ubuntu. Для этого понадобиться сервер с операционной системой Ubuntu 22.04, который можно заказать в Timeweb Cloud.
Перед тем, как перейдем непосредственно к установке, важно будет рассказать о существующих версиях Java и ее основных компонентах – JDK и JRE.
Последняя версия Java по состоянию на 2022 год – это Java SE 19. Она будет поддерживаться до начала весны 2023 года, пока не выйдет 20. Самым лучшим решением будет ставить 8 или 11 версию, так как они имеют долгосрочную поддержку.
Рассмотрим две самые популярные сборки Java – это OpenJDK и Oracle JDK. Первая – опенсорсная версия, а вторая – проприетарная, за использование которой в коммерческих разработках необходимо платить. Разницы для обычного пользователя в них нет. При установке OpenJDK пользователь сможет поставить только JRE, в случае с Oracle JDK ставится также и JDK помимо JRE.
В данной статье мы будем ставить обе сборки, а также у них будут разные версии. После установки расскажем, как настроить использование по умолчанию определенной версии и как удалить ненужные из тех, что установлены на ОС.
cloud
Здесь мы будем выполнять установку Java 8 на Ubuntu. Выбранная версия есть в репозитории ОС по умолчанию. Можно проверить этот факт, а также то, что Java не устанавливалась на сервере ранее.
Для начала обновим перечень пакетов apt
в нашей системе:
sudo apt update
Эта команда пригодится нам в статье и немного позднее. Когда речь будет идти об обновлении пакетов apt
– используйте именно ее.
Теперь проверим, устанавливалась ли Java в Ubuntu или нет. Для этого существует специальная команда:
java -version
В статье еще не раз будет упоминаться о проверке установки. В подобных случаях будет использоваться эта же команда.
В ответ на выполнение команды пользователь получит текст, показанный на рисунке ниже. Перечень возможных для установки версий может отличаться.
Используем команду из списка, предложенного консолью:
sudo apt install имя_версии
Для скачивания на сервер JRE из OpenJDK 8, вместо имя_версии
указываем openjdk-8-jre-headless
. У нас получится:
Чтобы проверить, что всё установлено успешно, вводим команду, использовавшуюся ранее:
java -version
Если все прошло успешно, то система выдаст текст, представленный ниже:
На этом этапе установка JRE завершена.
Помимо JRE пользователь также может установить JDK.
Для этого используем команду, упомянутую чуть выше, а именно:
sudo apt install имя_версии
Только в этот раз вместо имя_версии
указываем openjdk-8-jdk-headless
и получаем:
Для того чтобы увидеть результат установки, снова вводим соответствующую команду, но вместо java
указываем javac
, тем самым проверив установку компилятора:
В ответ система должна выдать следующую строку:
javac 1.8.0_342
На этом установка Java 8 на Ubuntu завершена. Если вы захотите установить иную версию, например 11, просто замените цифру 8 в командах на 11.
Будем выполнять установку Java 17 на Ubuntu. Для начала необходимо перейти на сайт компании Oracle и найти третий по счету архив из списка — x64 Compressed Archive. Копируем ссылку для скачивания в буфер обмена.
Теперь можно выполнить скачивание напрямую на сервер используя команду wget
:
wget https://download.oracle.com/java/17/archive/jdk-17.0.5_linux-x64_bin.tar.gz
Также, важно будет проверить контрольную сумму скачанного архива с суммой представленной на сайте. Сделаем это следующей командой:
sha256sum jdk-17.0.5_linux-x64_bin.tar.gz
Ниже продемонстрирована контрольная сумма, представленная на сайте.
А это результат выполнения команды:
По двум скриншотам выше видно, что контрольные суммы совпадают.
Теперь необходимо распаковать архив в папку на сервере.
Для начала создадим директорию, в которую после будет распакован скачанный архив:
sudo mkdir -p путь_к_директории
Новой директорией для хранения всех файлов архива будет newjvm
с соответствующим путем к ней – /usr/lib/newjvm
, который нужно указать вместо строки путь_к_директории
. У вас он может отличаться, если вы посчитаете это необходимым. В нашем примере получится:
После создания директории newjvm
, распакуем в нее все файлы скачанного архива.
tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/lib/newjvm
После того как файл распакуется, переходим непосредственно к установке. Выполнять ее будем с использованием PPA. Добавим соответствующий репозиторий PPA в список, используя следующую команду:
sudo add-apt-repository info_ppa
Значение info_ppa
нужно заменить на необходимый репозиторий. Для установки Java будем использовать ppa:linuxuprising/java
. У нас получится следующее:
После этого обновляем перечень пакетов apt
в нашей системе с помощью команды, упомянутой в самом начале статьи:
А после устанавливаем Oracle JDK 17 на сервер:
sudo apt install oracle-java17-installer --install-recommends
Когда на экране появится сообщение, как на картинке ниже, скроллим вниз и нажимаем «Ok».
Далее выбираем «Yes», как на картинке ниже.
По завершению проверим, все ли прошло успешно. Для этого вводим уже знакомую нам команду:
В ответ пользователь должен получить сообщение, показанное на рисунке ниже.
Как видно на картинке, Oracle JDK 17 успешно размещен на сервер.
Также проверим установку компилятора:
javac -version
В ответ система должна выдать следующее сообщение:
Установка Java 17 на Ubuntu завершена.
В статье продемонстрировано размещение двух версий Java на сервере. На практике их количество может быть больше. Стоит отметить, что пользователь может выбрать одну версию из всех возможных, которая будет применяться по умолчанию. Для этого вводим следующую команду в терминал:
sudo update-alternatives --config java
В статье будет использоваться эта команда еще не один раз. Поэтому не забывайте о ней в тех случаях, когда необходимо открыть список установленных версий.
В результате система выведет перечень всех существующих версий, расположенных на сервере, как показано на рисунке ниже.
Чтобы выбрать версию, которая будет применяться по умолчанию, введите в строку ее порядковый номер, указанный в левом столбце. Чтобы оставить так, как есть — нажмите «Enter».
Данную процедуру можно выполнить и для версий компилятора, заменив java
на javac
в конце вышеупомянутой команды:
Если пользователь решит, что одна из установленных версий ему больше не нужна — он может ее спокойно удалить. Допустим, была выполнена установка Java 16 на Ubuntu 22.04 версии OpenJDK. Чтобы удалить ее, вводим следующую команду в терминал:
sudo apt purge openjdk-16*
Если же пользователь захочет удалить каждую из поставленных на сервер версий OpenJDK, он вводит в консоль команду выше, только без указания конкретной версии.
В случае с Oracle Java, для удаления установленных версий нужно заменить в команде выше openjdk*
на oracle-java*
.
В случае если была выполнена установка Java 16 на Ubuntu, вводим следующую команду в консоль:
sudo apt purge oracle-java16-installer
Если вам нужно удалить другую версию установки Java на Ubuntu-сервере — просто поменяйте цифру в соответствующей команде.
JAVA_HOME
используется во многих программах, разработанных на Java. Скачивание JDK производиться в некую директорию. Именно на нее и указывает данная переменная. Чтобы узнать эту директорию, вводим команду для открытия списка версий, описанную в разделе выше:
Система выведет перечень всех установленных на сервере версий и их расположение, как показано на рисунке ниже.
Теперь мы знаем расположение Oracle Java 17 и OpenJDK 8. Так как по умолчанию в нашем примере используется Oracle Java 17, копируем адрес именно для нее.
После того как адрес скопирован, вводим следующую команду:
echo export JAVA_HOME="/usr/lib/newjvm/java-17-oracle” >> ~/.bashrc
А после:
source ~/.bashrc
Теперь проверим внесенные изменения:
echo $JAVA_HOME
Если терминал выдаст строку, продемонстрированную ниже, значит все выполнено успешно:
Проверим, что все установлено и работает правильно. Для этого создадим самую обычную программу, которая выведет на экран приветствие.
1. Создадим файл программы:
sudo vim example.java
2. Затем напишем код для нашей программы:
public class example {
public static void main(String[] args) {
System.out.println("Hello, User! Java is working successfully.");
}
}
Сохраняем файл и закрываем редактор.
3. Теперь следует скомпилировать программу, написанную выше:
javac example.java
4. После этого запускаем нашу программу:
java example
Если Java установлена и шаги, описанные выше, выполнены верно — в консоль будет выведена фраза, которую поместили в метод System.out.println
. Результат продемонстрирован на картинке ниже.
Подготовили для вас выгодные тарифы на облачные серверы
В статье мы разобрали установку Java на Ubuntu 22.04: разобрали установку разных версий Java на сервер, а после и их удаление. Выполнив установку по нашей инструкции, вы сможете в дальнейшем устанавливать на сервер необходимое ПО, которое работает на Java.
Хотела установить Oracle JDK в Ubuntu 1.24.0, но при создании дериктория в терминале вышла ошибка: tus@tus-book:
$ sudo mkdir -p путь_к_директории [sudo] пароль для tus: tus@tus-book:$ tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/lib/newjvm tar (child): jdk-17_linux-x64_bin.tar.gz: Функция open завершилась с ошибкой: Нет такого файла или каталога tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now В чём проблема?