Как мне обновить Java 8 на Raspbian

19

Мой Raspberry Pi 3 поставлялся с установленной версией Java 1.8.0_65. Я не мог обновить его до более поздней версии, используя apt-get- я предполагаю, что репозитория Debian для него нет. Я не знаю, как обновить его, и установка более новой версии не заменяет существующую.

Какой лучший способ установить / обновить Java на Raspbian и поддерживать его обновленным в будущем?

Путешествующий техник
источник
Существует довольно сложный процесс, включающий вызов альтернатив обновления для каждого компонента JRE / JDK. Oracle не предоставляет службы автообновления, так как для загрузки обновлений необходимо вручную войти на их сайт. Если это не критично, я бы придерживался стандартного Raspbian oracle-java8-jdk
scruss
@ travel-tech-guy Если какой-либо из ответов ниже, ответил на ваш вопрос, отметьте их так. Если вы решили это по-другому, пожалуйста, оставьте ответ на свой вопрос и отметьте его.
not2qubit
@ not2qubit никто не сделал, мне пришлось удалить и переустановить. Смотрите мой комментарий ко второму ответу.
Путешественник Tech Guy

Ответы:

10

Чтобы все время устанавливать самую последнюю версию Oracle Java, вы можете проверить текущую Java

pi @ raspberrypi: ~ $ java -version версия java "1.8.0_65" Java (TM) среда выполнения SE (сборка 1.8.0_65-b17) клиентская виртуальная машина Java HotSpot (TM) (сборка 25.65-b01, смешанный режим)

удалить OpenJDK

sudo apt-get purge openjdk*

добавить цифровой ключ

sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com EEA14886

добавить источник пакета

sudo vim /etc/apt/sources.list

добавить следующие строки

deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main

установить Java 8

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

удалить старую Java

sudo apt-get purge openjdk*
sudo apt-get purge java7*
sudo apt-get autoremove

проверить успех

java -version

pi @ raspberrypi: ~ $ java -version версия java "1.8.0_131" Java (TM) среда выполнения SE (сборка 1.8.0_131-b11) клиентская виртуальная машина Java HotSpot (TM) (сборка 25.131-b11, смешанный режим)

Ханнес Ач
источник
1
Отличный ответ. Я имел только уведомление о том , что команда apt-keyбыла приклеена с тиром, который в каком - то момент пришлось случайно заменить двойной тир , --поэтому команда не работает, и в результате странной ошибки: gpg: conflicting commands. Я отредактировал ответ, чтобы исправить это.
SWilk
2
Это не сработало с Расбианом Стретчем. У меня сработали инструкции на gist.github.com/ribasco/fff7d30b31807eb02b32bcf35164f11f .
Кевин Дойон,
sudo apt-get purge java7*удалены oracle-java8-jdk...
Кардинал системы
3

Следующий совет от Hannes Ach и SWilk был успешным, но я получил следующую ошибку:

pi@raspberrypi:~ $ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C2518248EEA14886 
Executing: /tmp/apt-key-gpghome.hVyJ3FPvDb/gpg.1.sh --recv-keys --keyserver keyserver.ubuntu.com C2518248EEA14886 
gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory 
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.hVyJ3FPvDb/S.dirmngr' failed: No such file or directory 
gpg: keyserver receive failed: No dirmngr

Чтобы решить это, я побежал:

sudo apt-get install dirmngr --install-recommends

тогда

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C2518248EEA14886

Затем все заработало как положено.

Оригинальная информация здесь https://blog.sleeplessbeastie.eu/2017/11/02/how-to-fix-missing-dirmngr/

Дмитрий Пичугин
источник
1

Если вам нужны новые функции, можно получить версии 9 и 10 следующим образом:

wget https://github.com/bell-sw/Liberica/releases/download/10/bellsoft-jre10-linux-arm32-vfp-hflt.debsudo
apt install ./bellsoft-jre10-linux-arm32-vfp-hflt.deb

Liberica для Raspberry Pi: https://www.bell-sw.com/java-for-raspberry-pi.html

Дмитрий
источник
0

Вы уже пробовали это руководство? http://elinux.org/RPi_Java#Installing_Java_on_Raspberry_Pi

OpenJDK

sudo apt-get update
sudo apt-get install openjdk-7-jdk

Oracle Java 8

wget http://www.java.net/download/JavaFXarm/jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz
tar zxf jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz
rm jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz
sudo mv ./jdk1.8.0/ /opt/
sudo chown root:root -R /opt/jdk1.8.0/
sudo ln -s /opt/jdk1.8.0/ /opt/jdk8

Редактировать sudo nano -w /etc/profileи добавлять

PATH="$PATH":/opt/jdk8/bin
JAVA_HOME=/opt/jdk8

java -version

чтобы увидеть, работает ли Java

Neckbeard2016
источник
1
Спасибо за подробный вопрос, но у меня уже установлена ​​Java 8. Мой вопрос касается обновления до более новых версий.
Путешествующий техник
Не работает, установленная apt-get Java имеет приоритет на пути, так как он находится в/usr/bin/java
Wim Deblauwe
3
Это очень старые инструкции, и они больше не действительны
scruss
+1, чтобы переключиться на openjdk, будь то на 7 или 8, если это возможно. Гораздо проще быть в курсе, чем загружать новые версии вручную с веб-страницы оракула, чем с помощью простого apt. Версия по умолчанию может быть легко переключена sudo update-alternatives --config java; sudo update-alternatives --config javaи должна быть сделана только один раз.
MadMike