Вопрос: Как установить OpenJDK 8 на 14.04 LTS?


(2017-08-08: Вопрос очищен и обобщен в новый ответ)

Java 8 теперь доступна в соответствии с http://openjdk.java.net/projects/jdk8/, но http://openjdk.java.net/install/ еще не упоминает, как установить OpenJDK 8 (не Oracle Java) в Ubuntu 14.04 Long Term Support. (Для 14.10 и более поздних версий apt-get install openjdk-8-jdk)

Как и когда это можно сделать?

(В настоящее время мы будем использовать Oracle Java - оптимальное решение для меня - это OpenJDK из репозиториев Ubuntu, пока Oracle Java не будет доступен напрямую и без усилий из репозиториев Ubuntu)



282
2018-05-12 11:00


Источник


Вам нужно скомпилировать его самостоятельно. Вот как это сделать: github.com/hgomez/obuildfactory/wiki/... Измените имя файла в соответствии с версией 8 ;-) - Rinzwind
Azul начал создавать сборки OpenJDK под названием «Zulu», которые можно загружать, распаковывать и использовать автоматически. (Они получают деньги от поддержки). azulsystems.com/products/zulu/downloads - Thorbjørn Ravn Andersen
Примечательно, что те же самые ppa, что apt-fast для trusty, ppa:saiarcot895/myppa, имеет версию openjdk-8, которая работает. пожимание плечами - ThorSummoner
По прошествии времени кажется, что простейшим решением является просто вариант 16.04 LTS, когда он доступен. - Thorbjørn Ravn Andersen
И openjdk-9-jdk находится в 16.04 LTS :) (возможно, просто заполнитель) - Thorbjørn Ravn Andersen


Ответы:


Вы можете это сделать;

Окончательное обновление

JDK

sudo apt-get install openjdk-8-jdk

JRE

sudo apt-get install openjdk-8-jre

Старое обновление

Я нашел два репозитория, но я не рекомендую

  • OpenJDK строит (все арки)

    ppa:openjdk-r/ppa
    
  • OpenJDK 8 backport для надежных

    ppa:jochenkemnade/openjdk-8
    

Исходное сообщение

Если вы действительно хотите использовать OpenJDK, вам нужно компилировать из источника. Для OpenJDK еще нет PPA.

Он был запрошен в https://bugs.launchpad.net/ubuntu/+bug/1297065

Я рекомендую вам использовать Webup8 Oracle Java8 Installer

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer

Чтобы автоматически настроить переменные среды Java 8

sudo apt-get install oracle-java8-set-default

Проверь это

java -version

Поэтому вам нужно подождать, чтобы использовать OpenJDK8


257
2018-05-12 16:49



@JohnMerlino, я предполагаю, что PPA позволяет автоматически получать обновления при выпуске новых версий. - Thorbjørn Ravn Andersen
openjdk-8 теперь находится в утопике. bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1341628 был увеличен до 12.04, поскольку он LTS: - Thorbjørn Ravn Andersen
Почему новое редактирование? Кажется, что все еще не было в реестре 14.04 и sudo apt-get install openjdk-8-jdk не работает, по крайней мере, для меня. - xji
По состоянию на 2016-01-11 неофициальные Ubuntu PPA все еще необходимы, так как OpenJDK 8 еще не приземлился в backports. Я не считаю это ответом на мой вопрос, хотя, как представляется, другие делают это. - Thorbjørn Ravn Andersen
Этот ответ очень вводит в заблуждение из-за неполного, он говорит, что он не рекомендует упоминать PPA, но не будет работать без него. - Reinier Post


sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac

165
2017-08-27 15:25



Этот репозиторий датирован; на сегодняшний день последний выпуск openjdk 1.8 - 66. Версия, доступная в этом репозитории, - 45. - mattm
Не удалось получить ppa.launchpad.net/openjdk-r/ppa/ubuntu/pool/main/o/openjdk-8/...  502 apt-cacher: ошибка libcurl: отказ при получении данных от партнера - Rajesh Hatwar
Это правильные минимальные шаги. 4 и 5 являются необязательными и, возможно, не требуются. - Air
Не работает для Ubuntu 14.04 E: Package 'openjdk-8-jdk' has no installation candidate - Naive
Это работало для меня при обновлении Jenkins (для новой версии требуется Java8, в моей системе был только Java7). Следует отметить, что четвертая строчка была критической, чтобы заставить Дженкинса вести себя правильно; пока я не побежал, я продолжал получать Jenkins requires Java8 or later, but you are running 1.7.0_121-b00 from /usr/lib/jvm/java-7-openjdk-amd64/jre, Имейте upvote ... Я бы дал вам больше, если мог. - Doktor J


OpenJDK 8 был выпущен в марте 2014 года. На момент появления этого вопроса в официальных репозиториях Ubuntu нет никаких пакетов OpenJDK 8 для любой версии Ubuntu. Они «скоро появятся», поскольку Страница проекта JDK 8 говорит, для некоторого определения в ближайшее время.

Во-первых, пакеты OpenJDK 8 приземляются в выпуске разработки Ubuntu. Это может произойти в течение цикла разработки 14.10, но, насколько я знаю, нет установленного графика. Некоторые пакеты предварительного просмотра были созданы и доступны для тестирования, см. Объявление на Debian-Java и Ubuntu OpenJDK списки рассылки. В какой-то момент эти пакеты будут загружены в репозитории разработки Debian и Ubuntu.

Как только OpenJDK 8 находится в версии разработки Ubuntu, возможно, будет возможно запросить его резервное копирование до 14.04. Обратите внимание, что он никогда не будет доступен в trusty хранилище, но если вы используете trusty-backports то он может быть установлен оттуда в какой-то момент. Читайте о процессе запроса backports в Ubuntu Вот,


62
2018-05-13 12:52



Я попытался ответить на ваш вопрос «как и когда» с ограничениями, которые вам кажутся нужными: должен быть из официальных репозиториев, должен быть OpenJDK и должен быть выпуском 14.04 LTS. - Mike Miller
Его февраль 2016 года и java 8 по-прежнему недоступны на Ubuntu 14.04 LTS. Это разочаровывает. - Bhavin Doshi
Это апрель 2016 года, до сих пор нет java 8 ... - Stephan Henningsen
Ubuntu 16.04 выходит в апреле 2016 года, он будет иметь OpenJDK 8, - Mike Miller
Это сентябрь 2016 года, а Ubuntu 14.04 LTS будет поддерживаться до 2019 года ... и много мест займет много времени, чтобы принять 16.04 из-за более масштабных изменений (например, systemd), так что все еще разочарование java 8 нелегко установить через apt на 14.04 :( - geerlingguy


Примечание. Это будет работать только с 14.10 или новее:

1 год опоздал, но как сегодня он работает, как ожидалось, с apt-get.

Для установки JDK:

$ sudo apt-get install openjdk-8-jdk

Для установки JRE:

$ sudo apt-get install openjdk-8-jre

Как установить JDK по умолчанию

Самый быстрый способ

Бег $ sudo update-alternatives --config java и введите номер, для которого JDK будет использовать ваш выбор.

Второй путь

Перечислите доступные JDK:

$ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

Теперь, чтобы скопировать и вставить расположение Open JDK 8 в соответствии с приведенной ниже командой:

$ sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64

32
2018-04-17 19:04



Я до сих пор вижу только JDKs 6 и 7, без openjdk-8-jdk на моем Linux 14.04, после обновления sudo apt-get. Вы добавили специальный репозиторий? У меня есть доверительные резервные копии. - akauppi
Я думаю, что вы используете 14.10 или 15.04, не так ли? - akauppi
Я не могу воспроизвести 14.04 LTS. Пожалуйста, подтвердите, что это версия. - Thorbjørn Ravn Andersen
@akauppi ты прав! Я бегу 14.10. Извините за неудобства, должен ли я удалить свой ответ? - caraca
Я бы не хотел, чтобы это было удалено - для некоторых использование 14.10 вместо 14.04 могло бы стать отличной альтернативой. - akauppi


Вот что я использую для настройки Oracle Java 7 и Java 8 [примечание: не OpenJDK] с нуля на Ubuntu 14.04 LTS:

apt-get -y -q update
apt-get -y -q upgrade
apt-get -y -q install software-properties-common htop
add-apt-repository ppa:webupd8team/java
apt-get -y -q update
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
apt-get -y -q install oracle-java8-installer
apt-get -y -q install oracle-java7-installer
update-java-alternatives -s java-8-oracle

Это без присмотра и подходит для включения в блок обеспечения бродяг; У меня есть подробная информация: https://gist.github.com/tinkerware/cf0c47bb69bf42c2d740

EDIT: это автоматически примет лицензию Oracle на JDK; убедитесь, что с ним все в порядке, прежде чем запускать его.


21
2018-01-16 01:35



Выглядит неплохо. Но в нем отсутствует часть, в которой вы получаете доступ root. Все еще хороший ответ. - MadMike
Правильно; Я использую это с Vagrant, который настраивает vagrant пользователь без пароля sudo, - Cagatay
Это оракул Java, а не OpenJDK Java, о чем шла речь. Также обратите внимание, что эхо-строки обходят вопрос о принятии лицензии от установщика. - Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen Да, я заметил, что вопрос был о OpenJDK; Я специально сказал, что мой метод предназначен для установки Oracle Java. Вы можете возразить, что это не связано, но я думаю, что есть смысл отметить альтернативу, которая все еще дает вам среду выполнения, которая может запускать Java 7/8 на 14.04 LTS. «Обход» вопроса о принятии лицензии - интересный выбор слов; Я бы сказал, что перед запуском скрипта следует прочитать лицензию Oracle, которая автоматизирует приемку во время установки. - Cagatay
Спасибо @ Cagatay !! этот ответ был очень полезен для меня, я смотрел установку Java 8 с помощью Vagrant. - Sotsir


По состоянию на 2017-08-08 я обнаружил, что этот вопрос и его ответы стали немного ошеломляющими, чтобы понять суть проблемы, поэтому я обобщил результаты этого ответа.

Очень короткий ответ: OpenJDK 8 от 2017-08-08 официально не доступен для Ubuntu 14.04,

Однако есть много доступных вариантов:

  • Перейдите на новую версию Ubuntu. OpenJDK 8 доступен с 14.10 и далее. (OpenJDK 9 с 16.04 LTS и далее, OpenJDK 11 с 18.04 LTS и далее)
  • Загрузите и установите Oracle Java (не OpenJDK) из http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html вручную в качестве файла tar.gz, который нужно просто распаковать и иметь лицензию, принятую до bin каталог может быть добавлен в ваш $PATH переменная. Вы также можете использовать сторонний PPA. Обратите внимание, что Oracle Java, по-видимому, предназначен только для оплаты клиентов в ожидаемом будущем (около Java 11).
  • Загрузите OpenJDK 8 с помощью стороннего PPA.
  • Загрузите сертифицированную версию Azul OpenJDK 8 из http://www.azul.com/downloads/zulu/zulu-linux/ (DEB)
  • Скомпилируйте источник и установите его самостоятельно.

См. Другие ответы.

Обратите внимание, что личные архивы пакетов (PPA) обычно делаются частными лицами на добровольной основе. Содержимое может быть устаревшим или уйти без предупреждения.

Лично я бы рекомендовал обновить Ubuntu до 18.04 LTS, или, если возможно, загрузить сборку Azul.


Примечание. Если вам все еще требуется OpenJDK 8, включенному в 14.04, проголосуйте за эту ошибку, войдя в систему и нажав «Does it impact you» вверху: https://bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1368094


10
2017-08-08 15:23





Заметка С 22 апреля 2016 года пакеты для Vivid были удалены, увы. Элемент новостей в пакетах package.ubuntu.com: «Отразить xenial release, добавить yakkety, удалить яркие». Обходной путь этого ответа умный, но уже не применимый в текущей ситуации. По состоянию на 6 января 2017 года нет backport для java 8 на trusty packages.ubuntu.com/trusty-backports/java. Пожалуйста, отредактируйте с изменениями.


См. Ответ на официальном сайте Android.

https://source.android.com/source/initializing.html 

Нет доступных поддерживаемых OpenJDK 8 пакетов для Ubuntu 14.04. Пакеты Ubuntu 15.04 OpenJDK 8 успешно используются с Ubuntu 14.04. Было обнаружено, что более новые версии пакетов (например, для 15.10, 16.04) не работают с 14.04, используя приведенные ниже инструкции.

Загрузите пакеты .deb для своей архитектуры из http://packages.ubuntu.com/vivid/openjdk-8-jdk:
    OpenJDK-8-JRE-безголовый
OpenJDK-8-JRE
    OpenJDK-8-JDK

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

$ uname -m    

x86_64 представляет собой 64-битную (amd64) архитектуру ядра Linux, а i386 / i486 / i586 / i686 представляет 32-битную (i386) систему.

При необходимости подтвердите контрольные суммы загруженных файлов, используя информацию, найденную на http://packages.ubuntu.com/vivid/openjdk-8-jdk,

Например, с помощью инструмента sha256sum:

$ sha256sum {package file}    

Установите пакеты:

$ sudo apt-get update    

Запустите dpkg для каждого загруженного вами файла .deb. Это может привести к ошибкам из-за отсутствия зависимостей:

$ sudo dpkg -i {downloaded.deb file}    

Исправить недостающие зависимости:

$ sudo apt-get -f install    

5
2018-02-25 00:53





Я просто голосовал Вот и теперь у нас 733 человека, мы заботимся о том, чтобы скрыть openjdk-8 до ubuntu-14.04.

я нашел этот репозиторий PPA довольно высока

 и, надеюсь, многообещающий !?

и это сработало для меня. Мне удалось установить openjdk-8-jdk на ubuntu-14.04 со следующими командами:

sudo add-apt-repository ppa:jonathonf/openjdk
sudo apt-get update
sudo apt-get install openjdk-8-jdk 

и вот мой java -version вывод:

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~14.04.york0-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

и вот мой uname -a вывод:

Linux mars1 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

и вот мой lsb_release -a вывод:

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty

Мой провайдер виртуального хоста-сервера говорит мне, что они поддерживают только Ubuntu-14.04, и я предполагаю, что они хотят продолжать работать до 2019 года! поэтому, пожалуйста, дайте мне знать, если вы знаете лучший способ открыть openjdk-8 на ubuntu-14.04?

Благодаря!


4
2018-05-09 20:09



Я бы рекомендовал использовать Azul Zulu. azul.com/downloads/zulu - Thorbjørn Ravn Andersen
Я также должен был запустить следующее, чтобы заставить его работать: sudo update-java-alternatives --jre --set java-1.8.0-openjdk-amd64 а также sudo update-java-alternatives --jre-headless --set java-1.8.0-openjdk-amd64 - champost


Менеджер пакетов Nix также поддерживает двоичные пакеты OpenJDK 8 для Ubuntu, что означает, что вы можете получить рабочий компилятор Java 8 менее чем за пять минут, чтобы начать (с быстрым подключением к Интернету, конечно).

Шаги:

  1. Установите диспетчер пакетов Nix (https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/): $ bash <(curl https://nixos.org/nix/install)

  2. Запустите оболочку one-liner, которую Nix сообщает вам в конце установки: $ . ~/.nix-profile/etc/profile.d/nix.sh

  3. Установите пакет OpenJDK Nix: $ nix-env -i openjdk

  4. Проверьте javac: $ javac -version

Вот и все. О, и вы захотите сделать однострочный шаг с шага 2 в своем ~/.bashrc, Это позволит Nix правильно связать ваши установленные пакеты (поскольку он хранит фактические файлы в нестандартных каталогах).


2
2017-10-10 03:27



Из любопытства - зачем вам нужен дополнительный ящик, помимо apt-get? - Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen - особая причина - быстро получить OpenJDK 8 с минимальной болью, и общая причина в том, что Nix - это революционное усовершенствование над apt-get и другими более старыми менеджерами пакетов. - Yawar
Я спрашиваю в общем случае - не специально для OpenJDK. Должны быть очень веские причины для внедрения нового менеджера пакетов, чтобы перевешивать, не используя существующую экосистему, которую я с трудом вижу. - Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen - есть веские основания рекомендовать Nix в общем случае. Как я уже упоминал, это революционное усовершенствование. По шкале git над svn. Проверять, выписываться infoq.com/articles/configuration-management-with-nix для большего. - Yawar


Я получаю OpenJDK 8 из официальных репозиториев Debian, а не из некоторых случайных PPA. Вот как я это сделал:

sudo apt-get install debian-keyring debian-archive-keyring

Делать /etc/apt/sources.list.d/debian-jessie-backports.list:

deb http://<httpredir>.debian.org/debian/ jessie-backports main

где вы меняете <httpredir> с префиксом для ближайшего зеркала (см. https://www.debian.org/mirror/list)

Делать /etc/apt/preferences.d/debian-jessie-backports:

Package: *
Pin: release o=Debian,a=jessie-backports
Pin-Priority: -200

Затем, наконец, выполните установку:

sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk

2
2017-08-10 08:22



Этот ответ не работает для меня. openjdk-8-jdk хочет openjdk-8-jre который хочет libjpeg62-turbo, В соответствии с apt это последнее «не устанавливается» или «более подробно» недоступно, но ссылается на другой пакет. Это может означать, что пакет отсутствует, был устарел или доступен только из другого источника »- таким образом, не из у меня есть репозитории. Чеканка становится слишком широкой, чтобы быть мудрым - XavierStuvw