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

(2017-08-08: вопрос очищен и суммирован в новом ответе)

Теперь Java 8 теперь доступен в соответствии с новым ответом , но 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)

1
задан 20 April 2018 в 10:47

11 ответов

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

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

JDK

sudo apt-get install openjdk-8-jdk

JDK

Old Update

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

сборки OpenJDK (все арки)
ppa:openjdk-r/ppa
OpenJDK 8 backport для trusty
ppa:jochenkemnade/openjdk-8

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

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

Он запрошен в компиляции

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

[ f5]

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

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

Проверьте

java -version

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

256
ответ дан 24 May 2018 в 07:51
  • 1
    @JohnMerlino, я предполагаю, что PPA позволяет автоматически получать обновления при выпуске новых версий. – Thorbjørn Ravn Andersen 23 June 2014 в 02:24
  • 2
    openjdk-8 теперь находится в утопике. bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1341628 был поднят для резервного копирования до 14.04, поскольку это LTS: – Thorbjørn Ravn Andersen 4 August 2014 в 17:06
  • 3
    Почему новое редактирование? Кажется, что до сих пор не было в реестре 14.04, и sudo apt-get install openjdk-8-jdk не работает, по крайней мере, для меня. – JI Xiang 5 December 2015 в 00:14
  • 4
    По состоянию на 2016-01-11 неофициальные Ubuntu PPA все еще необходимы, так как OpenJDK 8 еще не приземлился в backports. Я не считаю это ответом на мой вопрос, хотя, как представляется, другие делают это. – Thorbjørn Ravn Andersen 12 January 2016 в 12:51
  • 5
    Этот ответ очень вводит в заблуждение из-за неполного, он говорит, что он не рекомендует упоминать PPA, но не будет работать без него. – Reinier Post 22 September 2016 в 12:41
[F1]
161
ответ дан 24 May 2018 в 07:51
  • 1
    Не нужно дублировать существующие ответы ... – David Foerster 29 August 2015 в 03:56
  • 2
    Этот репозиторий датирован; на сегодняшний день последний выпуск openjdk 1.8 - 66. Версия, доступная в этом репозитории, - 45. – mattm 10 November 2015 в 17:58
  • 3
    Не удалось получить ppa.launchpad.net/openjdk-r/ppa/ubuntu/pool/main/o/openjdk-8/… 502 apt-cacher: ошибка libcurl: отказ при получении данных из вглядываться – Rajesh Hatwar 28 October 2016 в 09:30
  • 4
    Это правильные минимальные шаги. 4 и 5 являются необязательными и, возможно, не требуются. – Air 23 December 2016 в 22:37
  • 5
    Не работает для Ubuntu 14.04 E: Package 'openjdk-8-jdk' has no installation candidate – Naive 26 July 2017 в 15:57

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

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

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

61
ответ дан 24 May 2018 в 07:51
  • 1
    Я попытался ответить на ваш вопрос и «как и когда». с ограничениями, которые вам кажутся нужными: должен быть из официальных репозиториев, должен быть OpenJDK и должен быть выпуском 14.04 LTS. – Mike Miller 13 May 2014 в 17:54
  • 2
    Его февраль 2016 года и java 8 по-прежнему недоступны на Ubuntu 14.04 LTS. Это разочаровывает. – Bhavin Doshi 11 February 2016 в 10:10
  • 3
    Это апрель 2016 года, до сих пор нет java 8 ... – Stephan Henningsen 1 April 2016 в 12:45
  • 4
    Ubuntu 16.04 выйдет в апреле 2016 года, у него будет OpenJDK 8 . – Mike Miller 2 April 2016 в 23:21
  • 5
    Это сентябрь 2016 года, а Ubuntu 14.04 LTS будет поддерживаться до 2019 года ... и много мест займет много времени, чтобы принять 16.04 из-за более масштабных изменений (например, systemd), так что все еще разочарование java 8 нелегко установить через apt на 14.04 :( – geerlingguy 4 September 2016 в 00:34

Примечание & ndash; Это будет работать только с 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

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

$ sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64
31
ответ дан 24 May 2018 в 07:51
  • 1
    Я до сих пор вижу только JDKs 6 и 7, без openjdk-8-jdk на моем Linux 14.04, после обновления sudo apt-get. Вы добавили специальный репозиторий? У меня есть доверительные резервные копии. – akauppi 19 April 2015 в 22:25
  • 2
    Я думаю, что вы используете 14.10 или 15.04, не так ли? – akauppi 19 April 2015 в 22:30
  • 3
    Я не могу воспроизвести 14.04 LTS. Пожалуйста, подтвердите, что это версия. – Thorbjørn Ravn Andersen 20 April 2015 в 10:59
  • 4
    @akauppi ты прав! Я бегу 14.10. Извините за неудобства, должен ли я удалить свой ответ? – caraca 20 April 2015 в 17:51
  • 5
    Я бы не хотел, чтобы это было удалено - для некоторых использование 14.10 вместо 14.04 могло бы стать отличной альтернативой. – akauppi 21 April 2015 в 11:06

Вот что я использую для настройки 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
ответ дан 24 May 2018 в 07:51
  • 1
    Выглядит неплохо. Но в нем отсутствует часть, в которой вы получаете доступ root. Все еще хороший ответ. – MadMike 16 January 2015 в 11:37
  • 2
    Правильно; Я использую это с Vagrant, который устанавливает пользователя vagrant без пароля sudo. – Cagatay 17 January 2015 в 17:21
  • 3
    Это Oracle Java, а не OpenJDK Java, о чем и шла речь. Также обратите внимание, что эхо-строки обходят вопрос о принятии лицензии от установщика. – Thorbjørn Ravn Andersen 20 April 2015 в 10:59
  • 4
    @ ThorbjørnRavnAndersen Да, я заметил, что вопрос был о OpenJDK; Я специально сказал, что мой метод предназначен для установки Oracle Java. Вы можете возразить, что это не связано, но я думаю, что есть смысл отметить альтернативу, которая все еще дает вам среду выполнения, которая может запускать Java 7/8 на 14.04 LTS. & Quot; & Quot Обход; вопрос о принятии лицензии - интересный выбор слов; Я бы сказал, что перед запуском скрипта следует прочитать лицензию Oracle, которая автоматизирует приемку во время установки. – Cagatay 21 April 2015 в 20:10
  • 5
    Спасибо @ Cagatay !! этот ответ был очень полезен для меня, я смотрел установку Java 8 с помощью Vagrant. – Sotsir 16 September 2015 в 00:49

Примечание. С 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 [ ! d4]

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

Загрузите пакеты .deb для вашей архитектуры из https://source.android. com / source / initializing.html : openjdk-8-jre-headless 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
ответ дан 24 May 2018 в 07:51

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

Я нашел здесь довольно uptodate

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

, и это сработало для меня. Мне удалось установить 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

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

Спасибо!

4
ответ дан 24 May 2018 в 07:51
  • 1
    Я бы рекомендовал использовать Azul Zulu. azul.com/downloads/zulu – Thorbjørn Ravn Andersen 10 May 2017 в 11:19
  • 2
    Я также должен был запустить следующее, чтобы заставить его работать: 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 26 July 2017 в 14:07

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

Шаги:

Установите диспетчер пакетов Nix (https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/): [ f1] Запустите однострочный файл оболочки Nix, который вы укажете в конце установки: $ . ~/.nix-profile/etc/profile.d/nix.sh Установите пакет OpenJDK Nix: $ nix-env -i openjdk Проверьте javac: $ javac -version

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

2
ответ дан 24 May 2018 в 07:51
  • 1
    Из любопытства - зачем вам нужен дополнительный менеджер пакетов помимо apt-get? – Thorbjørn Ravn Andersen 10 October 2015 в 16:00
  • 2
    @ ThorbjørnRavnAndersen - особая причина - быстро получить OpenJDK 8 с минимальной болью, и общая причина в том, что Nix - это революционное усовершенствование над apt-get и другими более старыми менеджерами пакетов. – Yawar 10 October 2015 в 18:51
  • 3
    Я спрашиваю в общем случае - не специально для OpenJDK. Должны быть очень веские причины для внедрения нового менеджера пакетов, чтобы перевешивать, не используя существующую экосистему, которую я с трудом вижу. – Thorbjørn Ravn Andersen 11 October 2015 в 00:31
  • 4
    @ ThorbjørnRavnAndersen - есть веские основания рекомендовать Nix в общем случае. Как я уже упоминал, это революционное усовершенствование. По шкале git над svn. Посмотрите infoq.com/articles/configuration-management-with-nix для получения дополнительной информации. – Yawar 11 October 2015 в 08:01

Я получаю 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
ответ дан 24 May 2018 в 07:51
  • 1
    Этот ответ не работает для меня. openjdk-8-jdk хочет openjdk-8-jre, который хочет libjpeg62-turbo. Согласно apt это последнее «не установлено». или более подробно ", недоступен, но упоминается другим пакетом. Это может означать, что пакет отсутствует, был устарел или доступен только из другого источника " - таким образом, не из репозиториев, которые у меня есть. Чеканка становится слишком широкой, чтобы быть мудрым – XavierStuvw 6 January 2017 в 19:12

На самом деле также легко построить Java 8 непосредственно из источников ... Звучит страшно? Это на самом деле удивительно легко и серьезно буквально занимает около 15 минут, используя https://github.com/hgomez/obuildfactory/, как я описал на http://blog2.vorburger.ch/2014/06/build- свой собственный JDK-на-home.html

1
ответ дан 24 May 2018 в 07:51
  • 1
    Строительство - это одно. Как насчет TCK? – Thorbjørn Ravn Andersen 25 November 2014 в 03:32
  • 2
    @ ThorbjørnRavnAndersen Я понятия не имею. Для отдельного конечного пользователя самообслуживание уже полезно ИМХО. Для фактической подготовки тщательно протестированного пакета это, наверное, еще одна история ... Боюсь, я не знаю ничего, кроме вас. Я просто огляделся и нашел openjdk.java.net/groups/conformance/JckAccess , если бы вы это видели? – vorburger 25 November 2014 в 17:43

Обновление от 11 марта 2016 года, запустите их как root:

apt-get update
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DA1A4A13543B466853BAF164EB9B1D8886F44E2A
touch /etc/apt/sources.list.d/openjdk.list
echo "deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main " >>/etc/apt/sources.list.d/openjdk.list
echo "deb-src http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main" >>/etc/apt/sources.list.d/openjdk.list
apt-get update
apt-get -y install openjdk-8-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
echo "$JAVA_HOME"
1
ответ дан 24 May 2018 в 07:51
  • 1
    Первая строка не нужна. Следующие 4 строки эквивалентны add-apt-repository ppa:openjdk-r/ppa. Этот ответ также является дубликатом более старых. – Paul Stelian 18 April 2016 в 12:44
  • 2
    В целом (по состоянию на 2017-05-02), это то, что работает для меня. sudo add-apt-repository -y ppa:openjdk-r/ppa; sudo apt-get update; sudo apt-get install -y openjdk-8-jdk – Tzunghsing David Wong 3 May 2017 в 03:31

Другие вопросы по тегам:

Похожие вопросы: