Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.
Кратко о задаче
Перед тем, как перейдем непосредственно к установке, важно будет рассказать о существующих версиях Java и ее основных компонентах – JDK и JRE.
- JRE – это программная среда, в которой выполняются программы Java. Она включает в себя JVM и библиотеки классов Java.
- JDK – это платформа разработки для создания приложений Java. В него входит тот же JRE, компилятор, отладчик и другие полезные инструменты разработчика.
Последняя версия Java по состоянию на 2022 год – это Java SE 19. Она будет поддерживаться до начала весны 2023 года, пока не выйдет 20. Самым лучшим решением будет ставить 8 или 11 версию, так как они имеют долгосрочную поддержку.
Рассмотрим две самые популярные сборки Java – это OpenJDK и Oracle JDK. Первая – опенсорсная версия, а вторая – проприетарная, за использование которой в коммерческих разработках необходимо платить. Разницы для обычного пользователя в них нет. При установке OpenJDK пользователь сможет поставить только JRE, в случае с Oracle JDK ставится также и JDK помимо JRE.
В этом материале мы будем ставить обе сборки, а также у них будут разные версии. После установки расскажем, как настроить использование по умолчанию определенной версии и как удалить ненужные из тех, что установлены на ОС.
Установка OpenJDK в Ubuntu
Здесь мы будем выполнять установку Java 8 на Ubuntu. Выбранная версия есть в репозитории ОС по умолчанию. Можно проверить этот факт, а также то, что Java не устанавливалась на сервере ранее.
Для начала обновим перечень пакетов apt в нашей системе:
Эта команда пригодится нам в статье и немного позднее. Когда речь будет идти об обновлении пакетов apt – используйте именно ее.
Теперь проверим, устанавливалась ли Java в Ubuntu или нет. Для этого существует специальная команда:
В статье еще не раз будет упоминаться о проверке установки. В подобных случаях будет использоваться эта же команда.
В ответ на выполнение команды пользователь получит текст, показанный на рисунке ниже. Перечень возможных для установки версий может отличаться.
Используем команду из списка, предложенного консолью:
sudo apt install имя_версииДля скачивания на сервер JRE из OpenJDK 8, вместо _имя_версии_ указываем _openjdk-8-jre-headless_. У нас получится:
Чтобы проверить, что всё установлено успешно, вводим команду, использовавшуюся ранее:
Если все прошло успешно, то система выдаст текст, представленный ниже:
На этом этапе установка JRE завершена.
Помимо JRE пользователь также может установить JDK.
Для этого используем команду, упомянутую чуть выше, а именно:
sudo apt install имя_версииТолько в этот раз вместо _имя_версии_ указываем _openjdk-8-jdk-headless_ и получаем:
Для того чтобы увидеть результат установки, снова вводим соответствующую команду, но вместо java указываем javac, тем самым проверив установку компилятора:
В ответ система должна выдать следующую строку:
На этом установка Java 8 на Ubuntu завершена. Если вы захотите установить иную версию, например 11, просто замените цифру 8 в командах на 11.
Установка Oracle JDK в Ubuntu
Будем выполнять установку 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 успешно размещен на сервер.
Также проверим установку компилятора:
В ответ система должна выдать следующее сообщение:
Установка Java 17 на Ubuntu завершена.
Использование одной версии для работы с Java
В статье продемонстрировано размещение двух версий 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Теперь проверим внесенные изменения:
Если терминал выдаст строку, продемонстрированную ниже, значит все выполнено успешно:
Проверим, что все установлено и работает правильно. Для этого создадим самую обычную программу, которая выведет на экран приветствие.
1. Создадим файл программы:
2. Затем напишем код для нашей программы:
public class example {
public static void main(String[] args) {
System.out.println("Hello, User! Java is working successfully.");
}
}Сохраняем файл и закрываем редактор.
3. Теперь следует скомпилировать программу, написанную выше:
4. После этого запускаем нашу программу:
Если Java установлена и шаги, описанные выше, выполнены верно — в консоль будет выведена фраза, которую поместили в метод System.out.println. Результат продемонстрирован на картинке ниже.
Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.