Як оновити 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

@ мандрівник-технолог Якщо хтось із наведених нижче відповідей відповів на ваше запитання, будь ласка, позначте їх. Якщо ви вирішили це по-іншому, будь ласка, опублікуйте відповідь на власне запитання та позначте це.
not2qubit

@ not2qubit ніхто не робив, мені довелося видалити та перевстановити. Дивіться мій коментар до другої відповіді.
подорож Tech Guy

Відповіді:


10

Щоб весь час встановлено останню версію Java Oracle, ви можете перевірити поточну Java

pi @ raspberrypi: ~ $ java -версія java версія "1.8.0_65" Java (TM) SE Runtime Environment (збірка 1.8.0_65-b17) Java HotSpot (TM) клієнт VM (збірка 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 -версія java версія "1.8.0_131" Java (TM) SE Runtime Environment (збірка 1.8.0_131-b11) Java HotSpot (TM) клієнт VM (збірка 25.131-b11, змішаний режим)


1
Чудова відповідь. Я мав тільки повідомлення про те , що команда apt-keyбула приклеєна з тиром, який в якому - то момент довелося випадково замінити подвійний тир , --тому команда не працює, і в результаті дивної помилки: gpg: conflicting commands. Я відредагував відповідь, щоб її виправити.
SWilk

2
Це не спрацювало з Rasbian Stretch. Інструкції на 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


1
Дякую за детальне запитання, але у мене вже встановлена ​​Java 8. Моє запитання стосується оновлення до новіших версій.
Подорож технічного хлопця

Не спрацьовує, програма встановлення apt-get Java має перевагу на шляху, оскільки вона перебуває/usr/bin/java
Wim Deblauwe

3
Це дуже старі вказівки і більше не діють
скрутки

+1, щоб перейти на openjdk, якщо це можливо на 7 або 8. Набагато простіше зберігати актуальність, ніж завантажувати нові випуски вручну з веб-сторінки oracle, ніж за допомогою простого підходу. Версію за замовчуванням легко перемикати sudo update-alternatives --config java; sudo update-alternatives --config javaі її потрібно зробити лише один раз.
MadMike
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.