Для пакета oracle java8 installer не найден кандидат на установку

Обновлено: 03.07.2024

16 апреля 2019 года компания Oracle изменила лицензию по распространению Java SE. Теперь JRE от Oracle можно использовать бесплатно только для дома, либо при разработке ПО. Это повлекло за собой различные изменения, такие как отсутствие возможности скачать jvm без регистрации на сайте oracle и закрытие основных репозиториев для установки java из пакетов.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

Мне вынужденно пришлось погрузиться в эту тему, потому что на днях требовалось установить Oracle Java JRE 8 на Ubuntu 18 и у меня никак не получалось это сделать. В сети полно инструкций, простых и понятных, как установить Java на Ubuntu 18, но все они разом стали неактуальны. Популярный репозиторий webupd8team/java перешел в статус DISCONTINUED. Выполнить установку из него больше не получится. Будет вот такая ошибка:

Package

Теперь установить Oracle JRE или SDK можно только вручную. Для этого надо:

Я подробно опишу как это сделать для двух популярных систем - Ubuntu и Centos. Начнем с более сложного, с Ubuntu 18.

Обращаю внимание, что речь идет именно об Oracle Java Runtime Environment (JRE). Некоторые java проекты корректно работают только на ней. Если у проекта есть поддержка OpenJDK, то используйте ее.

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

Как я уже сказал выше, для установки oracle java необходимо скачать бинарники. Причем, сделать это так, как я недавно описывал в статье про настройку ELK Stack не получится. Без авторизации ссылки не доступны. Так что необходимо зарегистрироваться на сайте и скачать бинарники себе на компьютер. Я покажу как это сделать на примере Oracle Java 8. Идем на страницу загрузки, авторизовываемся и скачиваем jre-8u211-linux-x64.tar.gz.

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

Не забудьте отметить флажок напротив Accept License Agreement. После загрузки любым удобным для вас способом скопируйте файл на целевой сервер, куда будем устанавливать Java 8. Я для этого использую scp. Копирую файл в домашнюю директорию /root. Создаем директорию для java и распаковываем туда бинарники.

Java машина должна расположиться в директории /usr/lib/jvm/jre1.8.0_211. Теперь нам необходимо создать символьные ссылки на установленную версию java. Делаем это с помощью update-alternatives.

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

Сохраняем его и применяем изменение.

Теперь проверим, что у нас получилось.

Проверка версии java

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

Если вам необходимо установить Oracle SDK, то делаете все то же самое, только бинарники скачиваете по другой ссылке - Java SE Development Kit.

В принципе, на этом с установкой Oracle Java на Ubuntu все. В общем случае выполнено все необходимое. Но я в процессе компиляции одного приложения столкнулся с одной ошибкой. Расскажу вам, как ее решил.

Could not find tools.jar

Приложение использовало систему автоматической сборки gradle, которая прекращала сборку с ошибкой.

Could not find tools.jar

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

Что такое Oracle JRE и JDK и в чем отличие?

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

  • JRE - Java Runtime Environment. Это программный продукт со всем необходимым для запуска скомпилированных java приложений. Пакет включает в себя виртуальную машину ява (JVM), библиотеки, и всю остальную java инфраструктуру. Этот софт стал платным с 16-го апреля.
  • JDK - the Java Development Kit. Это полноценная SDK для разработки приложений на Java. Она включает в себя все, что есть в JRE, плюс компилятор (javac) и различные утилиты. В том числе tools.jar, которых мне не хватало для сборки, описанной выше. JDK уже давно платный, не помню с какого времени.

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

Установка Oracle Java на Centos

Установка Oracle Java на Centos

После этого передаем его на целевой сервер и устанавливаем Oracle Java на CentOS следующей командой:

После этого можно проверить версию Java в консоли.

Задать переменную $JAVA_HOME можно по аналогии с предыдущем разделом по убунте. Если вам необходимо установить Oracle SDK, то делаете все то же самое, только бинарники скачиваете по другой ссылке - Java SE Development Kit.

На этом установка Oracle Java на Centos закончена.

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

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

Для меня остается не понятен момент с работой Java на Windows. Она требуется для кучи всевозможных сервисов и оборудования. По идее, теперь за ее использование нужно платить. Как быть со всякими старыми железками, к которым обновлений уже не будет? Что думаете по этому поводу?

После выполнения apt-get update , Я получаю стандартный список сайтов, пораженных для обновления, но я получаю следующую ошибку (который я воображаю, источник проблемы):

Вся другая работа URL, просто не amd64 конечная точка.

Разве та конечная точка больше просто не доступна? Есть ли другой источник для Oracle Java 8? Я вижу "webupd8" группу, упомянутую на в значительной степени каждом руководстве помимо использования dpkg для установки пакета вручную (но затем я получаю обновления от Oracle?)

3 ответа

Ошибка состоит в том, что Вы использовали инструкции относительно того, как установить Java на Debian. Не Ubuntu.

  1. Как корень, перейдите к этой папке: /etc/apt/sources.list.d
  2. Определяют местоположение этого файла: webupd8team-java.list и удаляют его.
  3. Выполняются sudo apt-get update , чтобы система удалила любую ссылку на тот сервер обновления.
  4. Выполняются sudo add-apt-repository ppa:webupd8team/java для добавления корректного ppa к системе.
  5. Выполняются sudo apt-get update снова, и необходимо смочь установить все правильно.

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

Затем для установки определенного jdk выполняет их:

Необходимый это для JabRef на недавней Ubuntu, который

использует версию 11 Java, которая в настоящее время не поддерживается JabRef


Поэтому я вышел sudo add-apt-repository ppa:webupd8team/java который говорит мне:

[долгое объяснение, которое Вы получаете, видит ниже]

Поэтому ЭТОТ PPA ПРЕКРАЩЕН (если я не нахожу некоторый путь вокруг этого ограничения).


Обходное решение, которое шло хорошо у моего случая, было к

установите поддерживаемую версию Java (7 или 8) через веб-сайт Oracle

Затем загрузите соответствующий подходящий файл и следуйте данным Инструкциям.

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

[долгое объяснение]

Лицензия JDK Oracle изменилась для выпусков, запускающихся 16 апреля 2019.

Oracle загрузки Java теперь требует, чтобы вход в аккаунт Oracle загрузил обновления Java, как последняя Oracle Java 8u211 / Java SE 8u212. Из-за этого я не могу обновить PPA с последней Java (и старые связи были разорваны Oracle).

Поэтому ЭТОТ PPA ПРЕКРАЩЕН (если я не нахожу некоторый путь вокруг этого ограничения).

Java Oracle (JDK) Установщик (автоматически загрузки и Oracle JDK8 установок). В этом PPA нет никаких фактических файлов Java.

PPA поддерживает Ubuntu 18.10, 18.04, 16.04, 14.04 и 12.04.

webupd8team / + архив/человечность/Java Нажимают [ENTER] для продолжения или Ctrl-c для отмены добавления его.

Данное руководство поможет установить Java 8, 9 от компании Oracle наиболее простым способом из репозитория ppa и научит управлять версиями программам в Ubuntu.

Сначала обновим список пакетов:

Проверим наличие java в системе:

Если в вашей ОС нет этих пакетов, вы увидите следующее:

Установка Java 8, 9 в Ubuntu

Для дальнейшего понимания стоит отметить следующую терминологию

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

JDK (Java Development Kit) — это бесплатный комплект приложений для разработчика на языке Java, включающий в себя компилятор Java, стандартные библиотеки классов Java, документацию и различные утилиты, распространяемые компанией Oracle. В состав JDK не входит интегрированная среда разработки на Java. Здесь разработчик вынужден использовать внешний текстовый редактор и использовать утилиты командной строки. Существует две разновидности Java. OpenJDK — это реализация JDK с открытым исходным кодом и OracleJDK — официальная версия JDK от Oracle.

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

Первым делом рассмотрим установку OpenJDK8 с открытым исходным кодом.

Обновляем репозиторий пакетов:

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

Добавляем PPA программы:

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

Проверяем установленную версию:

Установка Java 8, 9 в Ubuntu

Но на OpenJDK много чего не работает и лучше поставить OracleJDK.

Установка OracleJDK8

OracleJDK8 — стабильная версия, а этот PPA поддерживает Ubuntu 16.10, 16.04, 15.10, 14.04 и 12.04, а также Linux Mint 18, 17.x и 13. Добавьте PPA и установите Oracle Java 8 (пакет содержит как JDK8, так и JRE8), используя следующие команды:

Добавляем PPA репозиторий в систему:

Обновляем репозиторий пакетов:

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

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

Установка OracleJDK8

Жмем Enter

Установка OracleJDK8

Выбираем Да, жмем Enter.

Проверяем установленную версию:

Для разработчиков Java также важна версия компилятора javac:

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

Установка OracleJDK8

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

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

Установщик Oracle Java (JDK) автоматически загружает и устанавливает Oracle JDK8 и JDK9.

Этот PPA поддерживает Ubuntu 17.10, 17.04, 16.04, 14.04 и 12.04.

Обновляем репозиторий пакетов:

Загружаем и установливаем сценарий установщика:

Можно установить несколько версий Java вместе

Когда вы устанавливаете платформу Java командами, представленными выше, то по умолчанию устанавливается та версия, которую вы установили последней.

Например вы поставили сначала Java 9, а затем поставили Java 8, то по умолчанию в системе будет использоваться Java 8.

Версии Java 6 и 7 недоступны для скачивания из PPA (Персональные архивы пакетов), а доступны только по учётной записи у компании Oracle.

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

Установить Java 8 по умолчанию:

Установить Java 9 по умолчанию:

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

Команда покажет такой результат:

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

Команда для переключения версии Java на 8:

Команда для переключения версии Java на 9:

Переменные среды для Java, к примеру $JAVA_HOME, которая зачастую используется для запуска Java-приложений в скриптах этих самых приложений, находятся в файле /etc/profile.d/jdk.sh

Редактировать данный файл можно с помощью текстового редактора.

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

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

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

Java - это очень популярный язык программирования, разработанный в компании Sun Microsystems, ныне принадлежащая корпорации Oracle. Сейчас Java используется для создания различных прикладных программ, веб-приложений, серверных приложений и многого другого. Основная особенность этого языка - это максимальная кроссплатформенность.

Программа, написанная для одной системы, будет без проблем работать в другой. Но для программ, написанных на Java, нужна специальная виртуальная Java-машина. В этой статье будет рассмотрена установка Java в Ubuntu 20.04 для разных версий программы. А также попытаемся разобраться во всём её многообразии.

Какую версию Java выбрать?

Сейчас разработкой Java занимается компания Oracle. До недавнего времени существовало две основных версии виртуальной машины Java:

  • Старая седьмая версия;
  • Новая восьмая, используемая в большинстве программ.

Платформа распространялась в двух форматах:

  • Проприетарном (Oracle Java) - с дополнительными возможностями и поддержкой;
  • Открытом (Open JDK) - полностью открытая версия.

Обе платформы выпускались компанией Oracle, но вторая поддерживалась сообществом разработчиков, а первая самой компанией. Сейчас же ситуация немного изменилась. Теперь компания выпускает новую версию Java каждые полгода. Сначала вышли версии Java 9, 10, 11, 12, 13, 14, 15, 16 и на конец последней актуальной версией на октябрь 2021 года является 17 версия. Длительность срока поддержки этих версий тоже короткая - всего семь месяцев. Поэтому большинство программ остались работать на Java 8 и на Java 11 так как данные версии имеют выпуск LTS – то есть Long Term Support (долгосрочная поддержка) и будут поддерживаться вплоть до Декабря 2030 года (версия Java 8) и до Сентября 2026 года. В большинстве случаев именно эти версии и необходимо устанавливать.

Если вы разработчик, и хотите получить самую свежую версию Java, то стоит устанавливать Java 11. Это LTS-версия, которая будет поддерживаться до 2026 года. В ней было очень много улучшений и изменений, как в плане синтаксиса, так и для распространения. Теперь проприетарная версия доступна бесплатно только для некоммерческого использования. Для коммерческих целей необходимо заплатить или же устанавливать OpenJDK.

В Ubuntu и в других дистрибутивах Java поставляется в двух редакциях:

  • JDK или Java Development Kit - содержит полную версию Java, необходимую для разработки на этом языке;
  • JRE или Java Runtime Environment - содержит только окружение для выполнения программ.

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

Установка Java 8 в Ubuntu 20.04

1. Как установить OpenJDK в Ubuntu 20.04

Если необходимо установить OpenJDK в Ubuntu, то никаких сторонних репозиториев подключать не нужно. Восьмая версия платформы есть в официальном репозитории Ubuntu 20.04. Чтобы установить JDK на Ubuntu необходимо выполнить команду:

Fk0SQVOuDklDugUGXVVb2SCUUabqQSvcEea6pXUX1GYCMDfL4e3d1r16D662Xh+c1lixQU1B6DKi2P8P3uXRcBd6FkQAAAAASUVORK5CYII=

Для установки JRE в Ubuntu необходимо выполнить команду

KTQnlTQpAAAAAElFTkSuQmCC

После этого можно узнать версию Java:

z+VhEzVlRqPOwAAAABJRU5ErkJggg==

Версия 1.8.0 эквивалентна версии 8.

2. Как установить Oracle Java 8 в Ubuntu 20.04

Единственный рабочий способ получить самую свежую версию Java - скачать её из официального сайта. Необходимо выбрать раздел Linux и найти пакет с именем jdk-8u311-linux-aarch64.tar.gz:

D7GgZhvZ1heuAAAAAElFTkSuQmCC

Далее необходимо поставить галочку напротив пункта I reviewed and accept the Oracle Technology Network License Agreement for Oracle Java SE тем самым подтверждая принятия условия лицензионного соглашения.

Fese28Keg6QAAAAASUVORK5CYII=

Для скачивания файла необходимо войти в свою учетную запись Oracle или создать новую, только после этого начнется загрузка выбранной версии. После завершения загрузки необходимо создать директорию /usr/lib/jvm/:

sudo mkdir /usr/lib/jvm/

Распакуйте в неё скаченный ранее архив:

sudo tar -zxvf jdk-8u311-linux-aarch64.tar.gz -C /usr/lib/jvm/

Добавьте исполняемый файл Java к списку утилиты для управления версиями Java:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java

После этого активируйте данную версию:

sudo update-alternatives --config java

Введите цифру 1 для выбора версии Java. В данном случае будет выбрана ранее скачанная версия Oracle Java 8.

Некоторым приложениям необходим путь к исполняемым файлам Java в переменных окружения. Создайте файл /etc/profile.d/javajdk.sh:

sudo vi /etc/profile.d/java8jdk.sh

И впишите следующее содержимое:

export PATH=$PATH:/usr/lib/jvm/jdk1.8.0_311/bin
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_311
export JRE_HOME=/usr/lib/jvm/jdk1.8.0_311/jre
export J2SDKDIR=/usr/lib/jvm/jdk1.8.0_311/
export J2REDIR=/usr/lib/jvm/jdk1.8.0_311/jre/

Чтобы загрузить эти переменные необходимо выполнить команду:

После этого проверьте версию Java:

wEQz1H8lfyCjAAAAABJRU5ErkJggg==

Установка Java 11 в Ubuntu 20.04

1. Как установить OpenJDK 11 в Ubuntu 20.04

Java 11 - это последняя на данный момент версия Java c длительной и актуальной поддержкой. Она будет поддерживаться до 2026 года. Свободная версия есть в официальных репозиториях Ubuntu, поэтому установить её можно без проблем:

sudo apt -y install openjdk-11-jdk

3pRcj4t80k8AAAAASUVORK5CYII=

Или можно установить JRE-редакцию, предназначенную только для запуска программ:

sudo apt -y install openjdk-11-jre

otoJXUWmqfyBrqXCZCQN+qwxtYDBfFBDAlJs5JdtsuYTO3bAuSXxHpWjx8Z3XEQJ6fIClc3OOFCncHZA40BjY9PkxJItgXGwTGzVyBO2czg7hF+UUtL6v7lhPoqt1+eQAAAAAElFTkSuQmCC

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

sudo update-alternatives --config java

Введите необходимую цифру для выбора Java 11. В данном случае будет выбрана цифра 0:

U2T4TXdRiz9DAgbScS6xKTnhmPr8kaKRJtvhmY8ob7D39v3GRQ47ZykDaAAAAAElFTkSuQmCC

После этого проверьте версию Java:

UilMADdZHP8P4AELoRJov8AAAAAASUVORK5CYII=

2. Как установить Oracle Java 11 в Ubuntu 20.04

Для установки проприетарной версии Java от корпорации Oracle необходимо скачать пакет JDK с официального сайта Oracle и добавить репозиторий для установки Java. Если просто попытаться выполнить команду для установки минуя скачивание JDK apt выдаст ошибку Oracle JDK 11 is NOT installed.

Для начала необходимо скачать архив с JDK с официального сайта Oracle . Необходимо выбрать раздел Linux и найти пакет с именем jdk-11.0.13_linux-x64_bin.tar.gz:


Далее необходимо поставить галочку напротив пункта I reviewed and accept the Oracle Technology Network License Agreement for Oracle Java SE тем самым подтверждая принятия условия лицензионного соглашения. Для скачивания файла необходимо войти в свою учетную запись Oracle или создать новую, только после этого начнется загрузка архива.

Необходимо создать директорию / var / cache / oracle - jdk 11- installer - local / и скопировать туда скачанный архив:

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

sudo cp /home/alex/Downloads/jdk-11.0.13_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/


Далее необходимо добавить репозиторий:

sudo add-apt-repository ppa:linuxuprising/java

j9jis1mymyevQAAAABJRU5ErkJggg==

При появлении фразы Press [ENTER] to continue or Ctrl-c to cancel adding it. нажмите на клавишу Enter для продолжения установки репозитория. Далее установите Oracle Java 11 при помощи команды:

sudo apt -y install oracle-java11-set-default-local

При появлении окна с лицензией нажмите на клавишу Tab далее нажмите на клавишу Enter:

As44D6HhY7UDAAAAAElFTkSuQmCC

В следующем окне снова нажмите на клавишу Tab и на клавишу Enter:

p87Dx1Dwb6ZjwAAAABJRU5ErkJggg==

После этого проверьте версию Java:

h+0sw5WK1k9UwAAAABJRU5ErkJggg==

Выбор версии Java

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

sudo update-java-alternatives --list

H+6qyOyBvkBtAAAAAElFTkSuQmCC

Далее установите необходимую версию при помощи опции –set и задав полное имя Java:

sudo update-java-alternatives --set java-1.11.0-openjdk-amd64

Удаление Java из Ubuntu 20.04

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

sudo apt -y purge oracle-java11-installer
sudo apt purge openjdk-11*
sudo apt purge openjdk-8*

Далее можно удалить PPA-репозиторий:

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

Выводы

В этой статье была показана установка Java на Ubuntu 20.04. Теперь после прочтения данной статьи вы знаете, как устанавливать Java и как выбирать необходимую версию по умолчанию. Надеюсь, информация из статьи была вам полезной.

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