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

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


Автор выбрал программу Write for DOnations.

Введение

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

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

Предпосылки

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

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

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

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

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

  1. sudo apt update

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

  1. java -version

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

Output
Command 'java' not found, but can be installed with: sudo apt install default-jre sudo apt install openjdk-11-jre-headless sudo apt install openjdk-8-jre-headless

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

  1. sudo apt install default-jre

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

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

  1. java -version

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

Output
openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.18.04) OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.18.04, mixed mode, sharing))

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

  1. sudo apt install default-jdk

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

  1. javac -version

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

Output
javac 11.0.11

Далее давайте посмотрим, как установить официальные JDK и JRE от Oracle.

Установка Oracle JDK 11

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

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

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

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

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

Нажмите кнопку «Загрузить JDK», и вы попадете на экран, на котором показаны доступные версии. Щелкните пакет .tar.gz для Linux.

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

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

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

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

Установите пакет software-properties-common, который добавляет в вашу систему команду add-apt-repository:

  1. sudo apt install software-properties-common

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

  1. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

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

Output
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg: imported: 1

Затем используйте команду add-apt-repository, чтобы добавить репозиторий в список источников пакетов:

  1. sudo add-apt-repository ppa:linuxuprising/java

Вы увидите это сообщение:

Output
Oracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian. Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required. The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java Created for users of https://www.linuxuprising.com/ Installation instructions (with some tips), feedback, suggestions, bug reports etc.: . . . Press [ENTER] to continue or ctrl-c to cancel adding it

Нажмите ENTER, чтобы продолжить установку. Вы можете увидеть сообщение о том, что действительные данные OpenPGP не найдены, но вы можете спокойно игнорировать это.

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

  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.7_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

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

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

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

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

Управление 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.

Установка переменной среды 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.