Поиск по сайту:

Как установить Java с помощью Apt на Ubuntu 22.04


Введение

Java и JVM (виртуальная машина Java) требуются для многих видов программного обеспечения, включая Jenkins.

В этом руководстве вы установите различные версии Java Runtime Environment (JRE) и Java Developer Kit (JDK) с помощью apt. Вы установите OpenJDK, а также официальный JDK от Oracle. Затем вы выберете версию, которую хотите использовать для своих проектов. Когда вы закончите, вы сможете использовать JDK для разработки программного обеспечения или использовать Java Runtime для запуска программного обеспечения.

Предпосылки

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

  • Один сервер Ubuntu 22.04, настроенный в соответствии с руководством по начальной настройке сервера Ubuntu 22.04, включая пользователя без полномочий root и брандмауэр.

Шаг 1 — Установка Java

Установка Java поставляется с двумя основными компонентами. JDK предоставляет необходимые программные инструменты для разработки на Java, такие как компилятор и отладчик. JRE используется для фактического выполнения программ Java. Кроме того, есть два основных варианта установки Java на выбор. OpenJDK — это реализация Java с открытым исходным кодом, поставляемая вместе с Ubuntu. Oracle JDK — это исходная версия Java, полностью поддерживаемая Oracle, разработчиками Java.

Обе эти версии официально признаны Oracle. Оба они также разработаны Oracle, но OpenJDK имеет дополнительный вклад сообщества из-за его природы с открытым исходным кодом. Однако, начиная с Java 11, эти два варианта теперь функционально идентичны, как указано Oracle. Выбор между тем, что установить, сводится к выбору соответствующей лицензии для ваших обстоятельств. Кроме того, OpenJDK имеет возможность установить JRE отдельно, в то время как OracleJDK поставляется в комплекте с JRE.

Вариант 1 — Установка JRE/JDK по умолчанию

Одним из вариантов установки Java является использование версии, упакованной с Ubuntu. По умолчанию Ubuntu 22.04 включает Open JDK 11, который является вариантом JRE и JDK с открытым исходным кодом.

Чтобы установить версию Java для OpenJDK, сначала обновите индекс пакета apt:

  1. sudo apt update

Затем проверьте, установлена ли уже Java:

  1. java -version

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

Output
Command 'java' not found, but can be installed with: sudo apt install default-jre # version 2:1.11-72build1, or sudo apt install openjdk-11-jre-headless # version 11.0.14+9-0ubuntu2 sudo apt install openjdk-17-jre-headless # version 17.0.2+8-1 sudo apt install openjdk-18-jre-headless # version 18~36ea-1 sudo apt install openjdk-8-jre-headless # version 8u312-b07-0ubuntu1

Выполните следующую команду, чтобы установить JRE из OpenJDK 11:

  1. sudo apt install default-jre

JRE позволит вам запускать почти все программное обеспечение Java.

Проверьте установку с помощью:

  1. java -version

Вы получите вывод, подобный следующему:

Output
openjdk version "11.0.14" 2022-01-18 OpenJDK Runtime Environment (build 11.0.14+9-Ubuntu-0ubuntu2) OpenJDK 64-Bit Server VM (build 11.0.14+9-Ubuntu-0ubuntu2, mixed mode, sharing)

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

  1. sudo apt install default-jdk

Убедитесь, что JDK установлен, проверив версию javac, компилятора Java:

  1. javac -version

Вы увидите следующий вывод:

Output
javac 11.0.14

Далее вы узнаете, как установить официальные JDK и JRE от Oracle.

Вариант 2 — Установка Oracle JDK 11

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

Версия Oracle JDK, которую вам нужно загрузить, должна соответствовать версии скрипта установщика. Чтобы узнать, какая версия вам нужна, посетите страницу oracle-java11-installer.

Найдите упаковку Jammy, как показано на следующем рисунке:

На этом изображении версия скрипта — 11.0.13. В этом случае вам понадобится Oracle JDK 11.0.13. Номер вашей версии может отличаться в зависимости от того, когда вы устанавливаете программное обеспечение.

Вам не нужно ничего скачивать с этой страницы; вскоре вы загрузите скрипт установки через apt.

Затем перейдите в раздел «Загрузки архива» и найдите нужную версию.

Из этого списка выберите пакет сжатого архива Linux x64 .tar.gz:

Вам будет представлен экран с просьбой принять лицензионное соглашение Oracle. Установите флажок, чтобы принять лицензионное соглашение, и нажмите кнопку «Загрузить». Ваша загрузка начнется. Возможно, вам потребуется еще раз войти в свою учетную запись Oracle, прежде чем начнется загрузка.

После того, как файл загрузится, вам нужно будет перенести его на свой сервер. На локальном компьютере загрузите файл на свой сервер. В macOS, Linux или Windows с использованием подсистемы Windows для Linux используйте команду scp, чтобы перенести файл в домашний каталог вашего sammy пользователь. Следующая команда предполагает, что вы сохранили файл Oracle JDK в папке Downloads на вашем локальном компьютере:

  1. scp Downloads/jdk-11.0.13_linux-x64_bin.tar.gz sammy@your_server_ip:~

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

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

  1. sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/oracle-jdk11-installer.gpg --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

Вы увидите этот вывод:

Output
gpg: keybox '/usr/share/keyrings/oracle-jdk11-installer.gpg' created gpg: /tmp/trustdb.gpg: trustdb created gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg: imported: 1

Затем добавьте репозиторий в список источников пакетов:

  1. echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-jdk11-installer.gpg] https://ppa.launchpadcontent.net/linuxuprising/java/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/oracle-jdk11-installer.list > /dev/null

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

  1. sudo apt update

Установщик будет искать загруженный вами Oracle JDK в /var/cache/oracle-jdk11-installer-local. Создайте этот каталог и переместите туда архив Oracle JDK:

  1. sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
  2. sudo cp jdk-11.0.13_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

Наконец, установите пакет:

  1. sudo apt install oracle-java11-installer-local

Программа установки сначала попросит вас принять лицензионное соглашение Oracle. Примите соглашение, затем программа установки извлечет пакет Java и установит его.

Теперь вы узнаете, как выбрать версию Java, которую вы хотите использовать.

Шаг 2 — Управление Java

Вы можете иметь несколько установок Java на одном сервере. Вы можете настроить версию по умолчанию для использования в командной строке с помощью команды update-alternatives.

  1. sudo update-alternatives --config java

Вот как будет выглядеть вывод, если вы установили обе версии Java в этом руководстве:

Output
There 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 <enter> to keep the current choice[*], or type selection number:

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

Вы можете сделать это для других команд Java, таких как компилятор (javac):

  1. sudo update-alternatives --config javac

Другие команды, для которых можно запустить эту команду, включают, помимо прочего: keytool, javadoc и jarsigner.

Шаг 3 — Установка переменной среды JAVA_HOME

Многие программы, написанные с использованием Java, используют переменную среды JAVA_HOME для определения места установки Java.

Чтобы установить эту переменную среды, сначала определите, где установлена Java. Используйте команду update-alternatives:

  1. sudo update-alternatives --config java

Эта команда показывает каждую установку Java вместе с путем ее установки:

Output
There 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 <enter> to keep the current choice[*], or type selection number:

В этом случае пути установки следующие:

  1. OpenJDK 11 находится по адресу /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
  2. Oracle Java находится по адресу /usr/lib/jvm/java-11-oracle/jre/bin/java.

Скопируйте путь из предпочтительной установки. Затем откройте /etc/environment с помощью nano или вашего любимого текстового редактора:

  1. sudo nano /etc/environment

В конце этого файла добавьте следующую строку, заменив выделенный путь собственным скопированным путем и не включив часть пути bin/:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

Изменение этого файла установит путь JAVA_HOME для всех пользователей вашей системы.

Сохраните файл и выйдите из редактора.

Теперь перезагрузите этот файл, чтобы применить изменения к текущему сеансу:

  1. source /etc/environment

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

  1. echo $JAVA_HOME

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

Output
/usr/lib/jvm/java-11-openjdk-amd64

Другим пользователям потребуется выполнить команду source /etc/environment или выйти из системы и снова войти, чтобы применить этот параметр.

Заключение

В этом руководстве вы установили несколько версий Java и научились управлять ими. Теперь вы можете установить программное обеспечение, работающее на Java, например Tomcat, Jetty, Glassfish, Cassandra или Jenkins.