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

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


Введение

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

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

Предпосылки

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

  • Один сервер Debian 11 с пользователем без полномочий root, с поддержкой sudo. Вы можете настроить это, следуя нашему руководству по начальной настройке сервера Debian 11.

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

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

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

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

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

Java 11 — это текущая версия Java с долгосрочной поддержкой.

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

  1. sudo apt update

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

  1. java -version

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

Output
-bash: java: command not found

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

  1. sudo apt install default-jre

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

Проверьте установку следующим образом:

  1. java -version

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

Output
openjdk version "11.0.16" 2022-07-19 OpenJDK Runtime Environment (build 11.0.16+8-post-Debian-1deb11u1) OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Debian-1deb11u1, mixed mode, sharing)

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

  1. sudo apt install default-jdk

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

  1. javac -version

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

Output
javac 11.0.16

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

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

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

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

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

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

Из этого списка выберите пакет сжатого архива 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. Сначала создайте этот каталог:

  1. sudo mkdir -p /var/cache/oracle-jdk11-installer-local/

Затем переместите туда архив Oracle JDK:

  1. 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
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

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

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

Эти пути показывают путь к исполняемому файлу java.

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

  1. sudo nano /etc/environment

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

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

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

Сохраните файл и выйдите из редактора. Если вы используете nano, вы можете сделать это, нажав CTRL + X, Y, а затем ENTER.

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

  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.