Раздел помощи SpaceWeb

Установка Java в Ubuntu 22.04

14 авг, 2024

В этой инструкции мы подробно рассмотрим процесс установки Java на Ubuntu 22.04. Вы узнаете, как правильно скачать, установить и настроить две версии Java, а также как проверить работоспособность установленной Java.

Что такое Java 

Java – это объектно-ориентированный язык программирования, который разработан для обеспечения платформенной независимости и высокопроизводительного выполнения приложений. 

Основной принцип Java – «пиши один раз, запускай везде» (Write Once, Run Anywhere). Это стало возможным благодаря виртуальной машине Java (JVM), – она выполняет байт-код, сгенерированный компилятором Java, на любой платформе, которая поддерживает JVM.

Ключевые характеристики Java

  • Объектно-ориентированность. Java поддерживает все основные принципы объектно-ориентированного программирования (ООП). Это облегчает разработку и поддержку сложных программных систем.
  • Платформенная независимость. Благодаря JVM программы на Java могут выполняться на любых устройствах и операционных системах, которые поддерживают JVM. Это исключает необходимость адаптации кода для каждой платформы.
  • Безопасность. В Java есть встроенные механизмы безопасности, такие как управление правами доступа и контроль над выполнением кода. Они помогают создавать безопасные и защищенные приложения.
  • Многопоточность. Java предоставляет встроенные средства для разработки многопоточных приложений, что позволяет эффективно использовать ресурсы многопроцессорных систем.
  • Богатая стандартная библиотека. Java предоставляет обширный набор стандартных библиотек, в которые входят средства для работы с сетями, графическим интерфейсом, доступом к базам данных и многое другое. Они ускоряют разработку приложений и снижают необходимость использования сторонних библиотек.

Что такое JDK и JRE 

JDK (Java Development Kit) – это полноценный набор инструментов для разработки программного обеспечения на языке Java. Он включает в себя все необходимое для написания, компиляции, отладки и выполнения Java-программ. 

JDK – это комбинация JRE (Java Runtime Environment) и дополнительных инструментов для разработки. 

Основные компоненты JDK:

  • Компилятор (javac) – основной инструмент, который преобразует исходный код Java (.java файлы) в байт-код (.class файлы).
  • Интерпретатор и загрузчик классов (java) – средства для загрузки и интерпретации байт-кода, а также выполнения Java-программ.
  • JRE (Java Runtime Environment) – среда выполнения, которая включает JVM и стандартные библиотеки классов.

JRE (Java Runtime Environment) – это среда выполнения для Java-программ, которая обеспечивает необходимые библиотеки и JVM для выполнения скомпилированного байт-кода. JRE предназначена для пользователей, которые хотят запускать Java-приложения, но не планируют заниматься их разработкой. 

Из чего состоит JRE:

  • JVM (Java Virtual Machine) – виртуальная машина Java, которая выполняет байт-код и обеспечивает его платформонезависимость. 
  • Библиотеки классов – стандартные библиотеки Java, которые включают классы для работы с графическим интерфейсом, вводом-выводом, сетями, утилитами и другими основными функциями.
  • Инфраструктура выполнения – средства, которые обеспечивают необходимую поддержку для выполнения Java-программ: загрузчики классов и конфигурационные файлы.

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

JDK и JRE тесно связаны между собой, но предназначены для разных целей. JDK включает в себя JRE и предоставляет полный набор инструментов для разработки Java-программ. JRE, в свою очередь, содержит только те компоненты, которые необходимы для выполнения уже скомпилированных Java-программ.

Программисты используют JDK для написания и компиляции кода, а пользователи и администраторы могут использовать JRE для запуска и эксплуатации этих программ. Такое разделение позволяет эффективно управлять средой разработки и выполнения, обеспечивая удобство и гибкость для различных категорий пользователей.
 

Для чего нужен Java

Java – один из самых популярных и широко используемых языков программирования благодаря своей универсальности, надежности и возможностям кроссплатформенного выполнения. 

Основные области применения Java:

  1. Веб-разработка

Java широко используется для создания динамических сайтов и веб-приложений. Его технологии позволяют разрабатывать интерактивные и масштабируемые веб-решения. 

Современные фреймворки, например, Spring и Hibernate, значительно упрощают процесс разработки и интеграции веб-приложений, обеспечивая высокую производительность и безопасность.

  1. Мобильная разработка

Java – основной язык для разработки приложений для операционной системы Android. С помощью Android SDK (Software Development Kit) разработчики могут создавать разнообразные мобильные приложения: от игр и утилит до корпоративных приложений и социальных сетей. 

  1. Корпоративные приложения

Java EE (Enterprise Edition) – платформа для разработки масштабируемых, надежных и безопасных корпоративных приложений. С помощью технологий Java EE компании могут разрабатывать сложные информационные системы, системы управления ресурсами предприятия (ERP) и системы управления взаимоотношениями с клиентами (CRM).

  1. Встроенные системы

Java используется для разработки программного обеспечения для встроенных систем и интернета вещей (IoT). Благодаря своей компактности и возможностям кроссплатформенного выполнения Java подходит для работы на различных устройствах: от умных бытовых приборов до сложных промышленных систем. 

Java ME (Micro Edition) предоставляет платформу для разработки приложений для маломощных устройств с ограниченными ресурсами.

  1. Большие данные и аналитика

Java активно используется в области больших данных и аналитики. Многие популярные инструменты и платформы для работы с большими данными (например, Apache Hadoop и Apache Spark) написаны на Java или поддерживают его. Это позволяет разрабатывать масштабируемые решения для обработки и анализа больших объемов данных.

  1. Финансовые услуги

Java – популярный выбор для разработки программного обеспечения в финансовой сфере. Банки, страховые компании и финансовые учреждения используют Java, чтобы создавать торговые платформы, системы управления рисками и решения для обработки транзакций. Высокая производительность, надежность и безопасность делают Java идеальным инструментом для разработки критически важных финансовых приложений.

Как установить Java в Ubuntu 22.04 

Далее мы рассмотрим, как установить две самые популярные сборки Java: OpenJDK и Oracle JDK. 

OpenJDK – это версия с открытым исходным кодом, тогда как Oracle JDK – проприетарная версия, за использование которой в коммерческих целях необходимо платить. Для обычного пользователя разница между ними минимальна.

Если вы установите OpenJDK, то получите только JRE. С Oracle JDK, помимо JRE, также установится и JDK.

Мы покажем установку обеих сборок и расскажем, как настроить использование определенной версии по умолчанию и как удалить ненужные версии.

Как установить OpenJDK

Начнем с установки Java 8 из OpenJDK на Ubuntu 22.04. Эта версия доступна в стандартных репозиториях Ubuntu.

Перед началом установки рекомендуется обновить список пакетов вашей системы. Это можно сделать с помощью следующей команды:

sudo apt update

Чтобы проверить, установлена ли Java на вашем компьютере, выполните:

java -version


Если Java не установлена, вы увидите сообщение о том, что команда не найдена или Java не установлена:

В противном случае оторбразится версия установленной Java.

Теперь можно приступить к установке OpenJDK. В нашем руководстве мы установим OpenJDK 21. Для этого пропишите:

sudo apt install openjdk-21-jre-headless 

Подтвердите установку, нажав Y, когда система запросит. 

Эта команда установит только JRE, которая необходима для выполнения Java-программ.

Если вам также нужно установить JDK, введите:

sudo apt install openjdk-21-jdk-headless

Эта команда установит полный комплект для разработки Java-программ, включая компилятор.

После завершения установки вы можете проверить, что всё установлено корректно. Для проверки JRE выполните следующую команду:

java -version

Вы должны увидеть информацию о версии установленной Java, например:

openjdk version "21.0.3" 2024-04-16
OpenJDK Runtime Environment (build 21.0.3+9-Ubuntu-1ubuntu122.04.1)
OpenJDK 64-Bit Server VM (build 21.0.3+9-Ubuntu-1ubuntu122.04.1, mixed mode)

Чтобы проверить установку JDK и компилятора, пропишите следующую команду:

javac -version

Вы должны увидеть информацию о версии установленного компилятора, например:

javac 21.0.3

На этом установка OpenJDK 21 на Ubuntu 22.04 завершена. Если вам необходимо установить другую версию Java, например, OpenJDK 11 или 17, просто замените соответствующие числа в приведенных выше командах.

Как установить Oracle JDK в Ubuntu 22.04 

В установку Oracle JDK входит скачивание архива с сайта Oracle, проверку контрольной суммы, распаковку архива и настройку окружения.

Перейдите на официальный сайт Oracle и найдите раздел с архивами Java SE Development Kit 17. Выберите x64 Compressed Archive и скопируйте ссылку для скачивания в буфер обмена.

Например, ссылка для скачивания может быть следующей:

https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 

Используйте команду wget, чтобы загрузить архив напрямую на сервер:

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 

Создайте директорию для хранения файлов JDK. Например, директорию /usr/lib/newdir:

sudo mkdir -p /usr/lib/newdir

Распакуйте скачанный архив в созданную директорию:

sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/lib/newdir

Чтобы установить Oracle JDK через PPA, добавьте соответствующий репозиторий:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt update

Установите Oracle JDK 21, выполнив следующую команду:

sudo apt install oracle-java17-installer --install-recommends

Нажмите Y, чтобы продолжить установку.

Вскоре появится окно с лицензионным соглашением. Примите его, прокрутив вниз и нажав Ok.

Затем выберите Yes:

Чтобы проверить, успешно ли установился Oracle JDK, выполните команду:

java -version

Вы должны увидеть информацию о версии Oracle JDK 17:

java version "17.0.6" 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS190, mixed mode)


 

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

javac -version

В ответ система должна выдать версию компилятора, например:

javac 17.0.6

На этом установка Oracle JDK 17 на Ubuntu 22.04 завершена. Теперь вы можете использовать JDK для разработки и выполнения Java-программ.

Как использовать одну версию для работы с Java 

В разделе, рассмотрим, как управлять несколькими установленными версиями Java на Ubuntu 22.04 и выбрать одну из них для использования по умолчанию. Эта процедура позволяет указать, какая версия Java будет использоваться системой по умолчанию, что особенно полезно, когда на сервере установлено несколько версий.

Выбор версии Java по умолчанию

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

sudo update-alternatives --config java

Эта команда отобразит список всех установленных версий Java, как показано на рисунке ниже:

There are 2 choices for the alternative java (providing /usr/bin/java).
  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-21-openjdk-arm64/bin/java      2111      auto mode
  1            /usr/lib/jvm/java-17-oracle/bin/java   1091      manual mode
  2            /usr/lib/jvm/java-21-openjdk-arm64/bin/java      2111      manual mode
Press <enter> to keep the current choice[*], or type selection number: 
 

Чтобы выбрать версию, которая будет использоваться по умолчанию, введите её порядковый номер, указанный в левом столбце, и нажмите Enter. Например, для выбора версии с порядковым номером 2, введите 2 и нажмите Enter.

Вы также можете выбрать версию компилятора Java (javac) по умолчанию. Для этого выполните команду:

sudo update-alternatives --config javac

Результат будет аналогичен предыдущему примеру. Вы сможете выбрать нужную версию компилятора, указав её порядковый номер. 

Удаление ненужных версий Java

Если вы решили, что одна из установленных версий Java больше не нужна, её можно удалить. Например, чтобы удалить версию OpenJDK 17, введите команду:

sudo apt purge openjdk-17*

Чтобы удалить все установленные версии OpenJDK, используйте команду:

sudo apt purge openjdk*

Чтобы удалить версии Oracle Java, замените openjdk* на oracle-java*. Например, чтобы удалить Oracle Java 17, пропишите:

sudo apt purge oracle-java17-installer

Для удаления другой версии Oracle Java просто измените номер версии в команде.

Переменная JAVA_HOME

JAVA_HOME – это переменная окружения, которая указывает на корневую директорию установки Java Development Kit. Правильная настройка JAVA_HOME гарантирует, что все программы, которые зависят от Java, смогут корректно функционировать.

Давайте посмотрим, как правильно настроить переменную JAVA_HOME в Ubuntu 22.04.

Определение расположения JDK

Чтобы установить переменную JAVA_HOME, сначала нужно узнать расположение установленной версии JDK. Для этого используйте команду, которая отображает список установленных версий Java и их местоположение:

sudo update-alternatives --config java

Результат будет примерно таким:

There are 2 choices for the alternative java (providing /usr/bin/java).
  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-21-openjdk-arm64/bin/java      2111      auto mode
  1            /usr/lib/jvm/java-17-oracle/bin/java   1091      manual mode
  2            /usr/lib/jvm/java-21-openjdk-arm64/bin/java      2111      manual mode
Press <enter> to keep the current choice[*], or type selection number: 

Допустим, в этом списке по умолчанию выбрана версия OpenJDK 21. Нужно скопировать путь, который указан для этой версии (в нашем случае это /usr/lib/jvm/java-21-openjdk-arm64).

Теперь, когда у нас есть путь к директории с установленной Java, необходимо установить переменную JAVA_HOME. 

Откройте файл .rc в вашем домашнем каталоге и добавьте в него строку с установкой переменной JAVA_HOME:

echo export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-arm64 " >> ~/.bashrc

Эта команда добавит строку в конец файла .bashrc.

Чтобы изменения вступили в силу, обновите текущую сессию терминала:

source ~/.bashrc

Убедитесь, что переменная JAVA_HOME установлена правильно, выполнив команду:

echo $JAVA_HOME

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

/usr/lib/jvm/="/usr/lib/jvm/java-21-openjdk-arm64

Проверка работоспособности Java

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

Откройте текстовый редактор, чтобы создать новый файл программы. В нашем случае мы используем vim, но вы можете использовать любой удобный вам текстовый редактор.

sudo vim example.java

Вставьте следующий код в открытый файл:

public class example { 
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

Сохраните файл и закройте редактор. В редакторе vim для этого нажмите Esc, затем введите :wq и нажмите Enter.

Чтобы скомпилировать программу, пропишите:

javac example.java

Эта команда создаст файл example.class, который содержит скомпилированный байт-код.

Затем запустите программу, используя команду:

java example

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

Hello World!

Заключение

Теперь, когда вы успешно установили Java на Ubuntu 22.04, вы готовы воспользоваться всеми возможностями этой платформы для разработки и выполнения приложений. Мы рассмотрели, как установить как OpenJDK, так и Oracle JDK, как выбрать версию Java по умолчанию и как настроить переменную окружения JAVA_HOME.

Правильная установка и настройка Java обеспечит вам стабильную и эффективную работу ваших приложений. Следуя приведенным инструкциям, вы сможете легко управлять несколькими версиями Java на своем сервере и убедиться, что ваша среда разработки настроена наилучшим образом.