При обработке следующих пакетов произошли ошибки oracle java11 installer local

Обновлено: 01.07.2024

Java и JVM (Java virtual machine) – очень широко распространённые и востребованные программы (к примеру, они необходимы для работы Tomcat, Jetty, Glassfish, Cassandra и Jenkins).

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

Требования

Для работы вам нужен сервер Ubuntu 20.04, настроенный согласно этому мануалу.

Установка стандартной версии JRE/JDK

Стандартная версия Java, которая поставляется вместе с Ubuntu – самая простая в установке. По умолчанию Ubuntu 20.04 идет с Open JDK 11 (это открытая версия JRE и JDK).

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

sudo apt update

А затем запросите версию Java (чтобы узнать, установлена ли Java в данной системе):

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

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

sudo apt install default-jre

Данная команда установит Java Runtime Environment (JRE), что позволит вам запускать почти все программы Java.

Запросите версию установленной программы:

Вы увидите такой вывод:

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

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

sudo apt install default-jdk

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

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

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

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

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

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

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

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

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

scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz 8host@your_server_ip:

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

Сначала установите пакет software-properties-common, который добавляет команду apt-get-repository – она нужна для добавления в систему дополнительных репозиториев.

sudo apt install software-properties-common

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

Вы увидите такой результат:

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

С помощью команды add-apt-repository добавьте нужный репозиторий в список источников:

sudo add-apt-repository ppa:linuxuprising/java

Нажмите Enter, чтобы продолжить установку. Затем система попробует импортировать ключи GPG, но не сможет найти валидные.

no valid OpenPGP data found

Это предупреждение можно проигнорировать.

Чтобы обновить список исходников и сделать новое ПО доступным для установки, введите:

sudo apt update

Инсталлятор будет искать загруженный пакет Oracle JDK в каталоге /var/cache/oracle-jdk11-installer-local. Сейчас нужно создать этот каталоги и скопировать туда архив .tar.gz.

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

Теперь можно установить пакет:

sudo apt install oracle-java11-installer-local

Сначала инсталлятор предложит вам принять лицензию. После этого он извлечет и установит Java.

Управление Java

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

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-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:

Теперь выберите номер версии, которая будет использоваться по умолчанию, и нажмите Enter. Таким же образом можно настроить и другие команды Java, например, компилятор (javac).

sudo update-alternatives --config javac

Также эта команда работает для keytool, javadoc, jarsigner и т.п.

Переменная среды JAVA_HOME

Многие программы используют переменную среды JAVA_HOME, чтобы определить расположение установки 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-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:

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

  • Oracle Java: /usr/lib/jvm/java-11-oracle/jre/bin/java.
  • OpenJDK 11: /usr/lib/jvm/java-11-openjdk-amd64/bin/java.

Скопируйте путь необходимой вам версии и откройте /etc/environment в текстовом редакторе:

sudo nano /etc/environment

Добавьте следующую строку в конец этого файла (замените условный путь к программе только что скопированным путём):

При изменении файла путь JAVA_HOME будет установлен для всех пользователей данной системы.

Сохраните и закройте файл. Чтобы обновить настройки, введите:

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

echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-amd64

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

Заключение

Теперь вы знаете, как установить несколько версий Java и выбрать версию по умолчанию. Сейчас вы можете установить несколько программ, основанных на Java, например, Tomcat, Jetty, Glassfish, Cassandra или Jenkins

Узнайте, как установить OpenJDK и Oracle JDK версий с 8 по 11 в системах Ubuntu.

1. Обзор

В этом уроке мы представим различные методы установки JDK на Ubuntu . Затем мы кратко сравним методы. Наконец, мы покажем, как управлять несколькими установками Java в системе Ubuntu.

В качестве предварительного условия для каждого метода нам необходимо

  • система Ubuntu
  • войти в систему как пользователь, не являющийся root, с правами sudo

Инструкции, описанные ниже, были протестированы на Ubuntu 18.10, 18.04 LTS, 16.04 LTS и 14.04 LTS. Для Ubuntu 14.04 LTS есть некоторые различия, которые упоминаются в тексте.

Обратите внимание, что как пакеты, которые вы можете загрузить из OpenJDK и Oracle, так и пакеты, доступные в репозиториях, регулярно обновляются. Точные имена пакетов, вероятно, изменятся в течение нескольких месяцев, но основные методы установки останутся прежними.

2. Установка JDK 11

Если мы хотим использовать последнюю и самую лучшую версию JDK, часто ручная установка-это путь. Это означает загрузку пакета с сайта OpenJDK или Oracle и настройку его таким образом, чтобы он соответствовал соглашениям о том, как apt настраивает пакеты JDK.

2.1. Установка OpenJDK 11 Вручную

Прежде всего, давайте загрузим tar архив недавно выпущенного OpenJDK 11:

И мы сравниваем sha256 сумму загруженного пакета с тем, который предоставлен на сайте OpenJDK :

Давайте распакуем архив tar :

Далее, давайте переместим каталог jdk11 , который мы только что извлекли, в подкаталог /usr/lib/jvm . Пакеты apt , описанные в следующем разделе, также помещают свои JDK в этот каталог:

Теперь мы хотим сделать команды java и javac доступными . Одной из возможностей было бы создать для них символические ссылки, например, в каталоге /usr/bin . Но вместо этого мы установим альтернативу для них обоих. Таким образом, если мы когда-нибудь захотим установить дополнительные версии JDK, они будут хорошо работать вместе:

Давайте проверим установку:

Как мы видим из выходных данных, мы действительно установили последнюю версию OpenJDK JRE и JVM:

Давайте также взглянем на версию компилятора:

2.2. Установка Oracle JDK 11 Вручную

Если мы хотим убедиться, что используем новейшую версию Oracle JDK, мы можем следовать аналогичному ручному процессу установки, как и для OpenJDK. Чтобы загрузить архив tar для JDK 11 с веб-сайта Oracle , мы должны сначала принять лицензионное соглашение . По этой причине загрузка через wget немного сложнее, чем для OpenJDK:

В приведенном выше примере загружается пакет для 11.0.1. Точная ссылка для загрузки изменяется для каждой второстепенной версии.

Следующие шаги такие же, как и для OpenJDK:

Проверка тоже такая же. Но вывод показывает, что на этот раз мы установили не OpenJDK, а Java(TM):

И для компилятора:

2.3. Установка Oracle JDK 11 из PPA

В настоящее время Oracle JDK 11 также доступен в PPA (личном архиве пакетов). Эта установка включает в себя 2 шага: добавление репозитория в нашу систему и установку пакета из репозитория через apt:

Шаги проверки должны показать тот же результат, что и после ручной установки в разделе 2.2.1.:

И для компилятора:

В Ubuntu 14.04 LTS команда add-apt-repository по умолчанию недоступна. Чтобы добавить репозиторий, сначала нам нужно установить пакет software-properties-common .

После этого мы можем продолжить работу с add-apt-repository, apt update и apt install , как показано выше.

3. Установка JDK 8

3.1. Установка OpenJDK 8 на Ubuntu 16.04 LTS и новее

Теперь давайте проверим установку:

В результате должна быть указана среда выполнения и JVM:

Давайте проверим, что исполняемый файл javac также доступен:

Теперь мы должны увидеть тот же номер версии, что и показано выше:

3.2. Установка OpenJDK 8 на Ubuntu 14.04 LTS

3.3. Установка Oracle JDK 8 из PPA

Во-первых, нам нужно добавить репозиторий PPA apt в нашу систему:

Затем мы можем установить пакет обычным способом:

Во время установки мы должны принять лицензионное соглашение Oracle. Давайте проверим установку:

Вывод показывает Java(TM) JRE и JVM:

Мы также можем проверить, установлен ли компилятор:

4. Установка JDK 10

Версии Java 10 и Java 9 больше не поддерживаются. Вы можете установить их вручную, выполнив те же действия, что и в разделе 2. Вы можете забрать пакеты из:

Оба сайта содержат одно и то же предупреждение:

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

4.1. Установка OpenJDK 10 Вручную

Давайте посмотрим, как установить OpenJDK 10.0.1:

4.2. Установка Oracle JDK 10 Вручную

5. Установка JDK 9

5.1. Установка OpenJDK 9 Вручную

Точно так же, как мы видели выше с OpenJDK 10.0.1, мы загружаем пакет OpenJDK 9 через wget и настраиваем его в соответствии с соглашениями:

5.2. Установка Oracle JDK 9 Вручную

6. Сравнение

Мы видели три разных способа установки JDK в Ubuntu. Давайте кратко рассмотрим каждый из них, указав на преимущества и недостатки.

6.2. PPA

PPA-это небольшие репозитории , поддерживаемые отдельным разработчиком или группой . Это также означает, что частота обновления зависит от сопровождающего.

6.3. Ручная Установка

Мы загружаем пакет непосредственно с сайта OpenJDK или Oracle. Хотя этот метод обеспечивает большую гибкость, мы несем ответственность за обновления. Если мы хотим иметь новейший и самый большой JDK, это правильный путь.

7. Изучение других версий JDKs

Примеры в разделах 2 и 3 отражают текущее состояние Ubuntu 18.04 LTS. Имейте в виду, что JDKS и соответствующие пакеты регулярно обновляются. Таким образом, полезно знать, как исследовать наши текущие возможности .

Если мы хотим использовать неподдерживаемую версию, даже это может быть сложно. На момент написания этой статьи мы не нашли никаких пакетов для Java 9 или Java 10 на веб-сайтах OpenJDK и Oracle.

В Ubuntu 18.04 LTS мы можем выбирать между двумя текущими версиями LTS Java:

Также стоит отметить , что, хотя пакет называется openjdk-11-jdk , на момент написания этой статьи он фактически устанавливает версию 10.0.2. Это, вероятно, скоро изменится. Мы можем это увидеть, если осмотрим упаковку:

Давайте рассмотрим, какие другие пакеты у нас есть в вашем распоряжении, кроме пакета jdk по умолчанию:

Мы можем найти некоторые из этих пакетов полезными. Например, openjdk-11-source содержит исходные файлы для классов API Java core, в то время как openjdk-11-dbg содержит символы отладки.

Помимо семейства openjdk -* , есть пакет default-jdk , который стоит изучить:

В конце вывода в описании говорится::

В случае Ubuntu 18.04 LTS это пакет openjdk-11-jdk на данный момент.

8. Обзор: Версии и пакеты Java

Теперь давайте посмотрим, как различные версии Java могут быть установлены на Ubuntu 18.04 LTS на момент написания этой статьи:

9. Несколько версий Java в системе Ubuntu

Стандартный способ управления несколькими версиями одного и того же программного обеспечения в Ubuntu-через систему альтернатив Debian. Большую часть времени мы создаем, поддерживаем и отображаем альтернативы с помощью программы update-alternatives .

Когда apt устанавливает пакет JDK, он автоматически добавляет записи для альтернатив. В случае ручной установки мы видели, как добавить альтернативы для java и javac соответственно.

Давайте посмотрим на наши альтернативы:

В нашей тестовой системе, где мы установили две разные версии OpenJDK, в выходных данных перечислены обе альтернативы с соответствующими приоритетами:

Теперь, когда мы увидели наши альтернативы, мы также можем переключаться между ними:

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

Если мы работаем над несколькими приложениями, написанными на разных версиях Java, скорее всего, нам также понадобятся разные версии другого программного обеспечения (например, Maven, какой-то сервер приложений). В этом случае мы можем рассмотреть возможность использования больших абстракций, таких как контейнеры Docker.

10. Заключение

И, наконец, мы видели, как управлять несколькими установками Java в системе Ubuntu с помощью update-alternatives .

В качестве следующего шага может быть полезно установить переменную среды JAVA_HOME .

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

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

Предварительные требования

Для данного обучающего руководства вам потребуется следующее:

  • Сервер Ubuntu 20.04, настроенный в соответствии с указаниями обучающего руководства Начальная настройка сервера Ubuntu 20.04, а также пользователь без прав root с привилегиями sudo и брандмауэр.

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

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

Для установки этой версии нужно вначале обновить указатель пакетов:

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

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

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

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

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

Вывод должен выглядеть следующим образом:

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

Вывод должен выглядеть так:

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

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

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

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

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

Установочный пакет для Ubuntu 2.04

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

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

Oracle Java 11

Загрузка Linux

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

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

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

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

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

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

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

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

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

После этого выполните установку пакета:

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

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

Управление Java

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

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

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

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

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

Настройка переменной среды JAVA_HOME

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

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

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

В данном случае пути установки выглядят следующим образом:

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

Скопируйте путь каталога установки предпочитаемой версии. Откройте каталог /etc/environment в nano или другом текстовом редакторе:

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

При изменении файла будет задан путь JAVA_HOME для всех пользователей системы.

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

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

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

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

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

Заключение

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

Узнайте, как установить OpenJDK и Oracle JDK версий с 8 по 11 в системах Ubuntu.

1. Обзор

В этом уроке мы представим различные методы установки JDK на Ubuntu . Затем мы кратко сравним методы. Наконец, мы покажем, как управлять несколькими установками Java в системе Ubuntu.

В качестве предварительного условия для каждого метода нам необходимо

  • система Ubuntu
  • войти в систему как пользователь, не являющийся root, с правами sudo

Инструкции, описанные ниже, были протестированы на Ubuntu 18.10, 18.04 LTS, 16.04 LTS и 14.04 LTS. Для Ubuntu 14.04 LTS есть некоторые различия, которые упоминаются в тексте.

Обратите внимание, что как пакеты, которые вы можете загрузить из OpenJDK и Oracle, так и пакеты, доступные в репозиториях, регулярно обновляются. Точные имена пакетов, вероятно, изменятся в течение нескольких месяцев, но основные методы установки останутся прежними.

2. Установка JDK 11

Если мы хотим использовать последнюю и самую лучшую версию JDK, часто ручная установка-это путь. Это означает загрузку пакета с сайта OpenJDK или Oracle и настройку его таким образом, чтобы он соответствовал соглашениям о том, как apt настраивает пакеты JDK.

2.1. Установка OpenJDK 11 Вручную

Прежде всего, давайте загрузим tar архив недавно выпущенного OpenJDK 11:

И мы сравниваем sha256 сумму загруженного пакета с тем, который предоставлен на сайте OpenJDK :

Давайте распакуем архив tar :

Далее, давайте переместим каталог jdk11 , который мы только что извлекли, в подкаталог /usr/lib/jvm . Пакеты apt , описанные в следующем разделе, также помещают свои JDK в этот каталог:

Теперь мы хотим сделать команды java и javac доступными . Одной из возможностей было бы создать для них символические ссылки, например, в каталоге /usr/bin . Но вместо этого мы установим альтернативу для них обоих. Таким образом, если мы когда-нибудь захотим установить дополнительные версии JDK, они будут хорошо работать вместе:

Давайте проверим установку:

Как мы видим из выходных данных, мы действительно установили последнюю версию OpenJDK JRE и JVM:

Давайте также взглянем на версию компилятора:

2.2. Установка Oracle JDK 11 Вручную

Если мы хотим убедиться, что используем новейшую версию Oracle JDK, мы можем следовать аналогичному ручному процессу установки, как и для OpenJDK. Чтобы загрузить архив tar для JDK 11 с веб-сайта Oracle , мы должны сначала принять лицензионное соглашение . По этой причине загрузка через wget немного сложнее, чем для OpenJDK:

В приведенном выше примере загружается пакет для 11.0.1. Точная ссылка для загрузки изменяется для каждой второстепенной версии.

Следующие шаги такие же, как и для OpenJDK:

Проверка тоже такая же. Но вывод показывает, что на этот раз мы установили не OpenJDK, а Java(TM):

И для компилятора:

2.3. Установка Oracle JDK 11 из PPA

В настоящее время Oracle JDK 11 также доступен в PPA (личном архиве пакетов). Эта установка включает в себя 2 шага: добавление репозитория в нашу систему и установку пакета из репозитория через apt:

Шаги проверки должны показать тот же результат, что и после ручной установки в разделе 2.2.1.:

И для компилятора:

В Ubuntu 14.04 LTS команда add-apt-repository по умолчанию недоступна. Чтобы добавить репозиторий, сначала нам нужно установить пакет software-properties-common .

После этого мы можем продолжить работу с add-apt-repository, apt update и apt install , как показано выше.

3. Установка JDK 8

3.1. Установка OpenJDK 8 на Ubuntu 16.04 LTS и новее

Теперь давайте проверим установку:

В результате должна быть указана среда выполнения и JVM:

Давайте проверим, что исполняемый файл javac также доступен:

Теперь мы должны увидеть тот же номер версии, что и показано выше:

3.2. Установка OpenJDK 8 на Ubuntu 14.04 LTS

3.3. Установка Oracle JDK 8 из PPA

Во-первых, нам нужно добавить репозиторий PPA apt в нашу систему:

Затем мы можем установить пакет обычным способом:

Во время установки мы должны принять лицензионное соглашение Oracle. Давайте проверим установку:

Вывод показывает Java(TM) JRE и JVM:

Мы также можем проверить, установлен ли компилятор:

4. Установка JDK 10

Версии Java 10 и Java 9 больше не поддерживаются. Вы можете установить их вручную, выполнив те же действия, что и в разделе 2. Вы можете забрать пакеты из:

Оба сайта содержат одно и то же предупреждение:

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

4.1. Установка OpenJDK 10 Вручную

Давайте посмотрим, как установить OpenJDK 10.0.1:

4.2. Установка Oracle JDK 10 Вручную

5. Установка JDK 9

5.1. Установка OpenJDK 9 Вручную

Точно так же, как мы видели выше с OpenJDK 10.0.1, мы загружаем пакет OpenJDK 9 через wget и настраиваем его в соответствии с соглашениями:

5.2. Установка Oracle JDK 9 Вручную

6. Сравнение

Мы видели три разных способа установки JDK в Ubuntu. Давайте кратко рассмотрим каждый из них, указав на преимущества и недостатки.

6.2. PPA

PPA-это небольшие репозитории , поддерживаемые отдельным разработчиком или группой . Это также означает, что частота обновления зависит от сопровождающего.

6.3. Ручная Установка

Мы загружаем пакет непосредственно с сайта OpenJDK или Oracle. Хотя этот метод обеспечивает большую гибкость, мы несем ответственность за обновления. Если мы хотим иметь новейший и самый большой JDK, это правильный путь.

7. Изучение других версий JDKs

Примеры в разделах 2 и 3 отражают текущее состояние Ubuntu 18.04 LTS. Имейте в виду, что JDKS и соответствующие пакеты регулярно обновляются. Таким образом, полезно знать, как исследовать наши текущие возможности .

Если мы хотим использовать неподдерживаемую версию, даже это может быть сложно. На момент написания этой статьи мы не нашли никаких пакетов для Java 9 или Java 10 на веб-сайтах OpenJDK и Oracle.

В Ubuntu 18.04 LTS мы можем выбирать между двумя текущими версиями LTS Java:

Также стоит отметить , что, хотя пакет называется openjdk-11-jdk , на момент написания этой статьи он фактически устанавливает версию 10.0.2. Это, вероятно, скоро изменится. Мы можем это увидеть, если осмотрим упаковку:

Давайте рассмотрим, какие другие пакеты у нас есть в вашем распоряжении, кроме пакета jdk по умолчанию:

Мы можем найти некоторые из этих пакетов полезными. Например, openjdk-11-source содержит исходные файлы для классов API Java core, в то время как openjdk-11-dbg содержит символы отладки.

Помимо семейства openjdk -* , есть пакет default-jdk , который стоит изучить:

В конце вывода в описании говорится::

В случае Ubuntu 18.04 LTS это пакет openjdk-11-jdk на данный момент.

8. Обзор: Версии и пакеты Java

Теперь давайте посмотрим, как различные версии Java могут быть установлены на Ubuntu 18.04 LTS на момент написания этой статьи:

9. Несколько версий Java в системе Ubuntu

Стандартный способ управления несколькими версиями одного и того же программного обеспечения в Ubuntu-через систему альтернатив Debian. Большую часть времени мы создаем, поддерживаем и отображаем альтернативы с помощью программы update-alternatives .

Когда apt устанавливает пакет JDK, он автоматически добавляет записи для альтернатив. В случае ручной установки мы видели, как добавить альтернативы для java и javac соответственно.

Давайте посмотрим на наши альтернативы:

В нашей тестовой системе, где мы установили две разные версии OpenJDK, в выходных данных перечислены обе альтернативы с соответствующими приоритетами:

Теперь, когда мы увидели наши альтернативы, мы также можем переключаться между ними:

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

Если мы работаем над несколькими приложениями, написанными на разных версиях Java, скорее всего, нам также понадобятся разные версии другого программного обеспечения (например, Maven, какой-то сервер приложений). В этом случае мы можем рассмотреть возможность использования больших абстракций, таких как контейнеры Docker.

10. Заключение

И, наконец, мы видели, как управлять несколькими установками Java в системе Ubuntu с помощью update-alternatives .

В качестве следующего шага может быть полезно установить переменную среды JAVA_HOME .

Читайте также: