Comment mettre à jour Java 8 dans Raspbian


19

Mon Raspberry Pi 3 est livré avec Java version 1.8.0_65 installée. Je n'ai pas pu le mettre à jour vers une version ultérieure en utilisant apt-get- je suppose qu'il n'y a pas de dépôt Debian pour cela. Je ne sais pas comment le mettre à jour, et l'installation d'une version plus récente ne remplace pas la version existante.

Quelle est la meilleure façon d'installer / mettre à jour Java sur Raspbian et de le maintenir à jour à l'avenir?


Il existe un processus assez compliqué impliquant l'appel à des alternatives de mise à jour pour chaque composant du JRE / JDK. Oracle ne fournit pas un service de mise à jour automatique, comme vous devez vous connecter manuellement sur leur site pour télécharger updates.Unless cette mission critique est, je bâton avec la valeur par défaut Raspbian oracle-java8-jdk
scruss

@ travelling-tech-guy Si l'une des réponses ci-dessous, a répondu à votre question, veuillez la marquer ainsi. Si vous l'avez résolu d'une manière différente, veuillez poster une réponse à votre propre question et la marquer.
not2qubit

@ not2qubit ne l'a pas fait, j'ai dû désinstaller et réinstaller. Voir mon commentaire à la deuxième réponse.
Traveling Tech Guy

Réponses:


10

Pour avoir tout le temps le plus récent java Oracle installé, vous pouvez vérifier Java actuel

pi @ raspberrypi: ~ $ java -version version java "1.8.0_65" Java (TM) SE Runtime Environment (build 1.8.0_65-b17) Client VM Java HotSpot (TM) (build 25.65-b01, mode mixte)

supprimer OpenJDK

sudo apt-get purge openjdk*

ajouter une clé numérique

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

ajouter une source de paquets

sudo vim /etc/apt/sources.list

ajouter les lignes suivantes

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

installer Java 8

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

supprimer l'ancien Java

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

vérifier le succès

java -version

pi @ raspberrypi: ~ $ java -version version java "1.8.0_131" Java (TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot (TM) Client VM (build 25.131-b11, mode mixte)


1
Très bonne réponse. Je ne devais avis que la commande apt-keya été collé avec le tiret long, qui , à un moment donné a dû remplacer accidentellement des tirets doubles de --sorte que la commande ne fonctionne pas, et a entraîné une erreur bizarre: gpg: conflicting commands. J'ai édité la réponse pour la corriger.
SWilk

2
Cela n'a pas fonctionné avec Rasbian Stretch. Les instructions sur gist.github.com/ribasco/fff7d30b31807eb02b32bcf35164f11f ont fonctionné pour moi.
Kevin Doyon

sudo apt-get purge java7*supprimé oracle-java8-jdk...
Cardinal System

3

Le conseil suivant de hannes ach et SWilk a réussi, mais j'ai eu l'erreur suivante:

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

Afin de résoudre cela, j'ai couru:

sudo apt-get install dirmngr --install-recommends

ensuite

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

Ensuite, tout a fonctionné comme prévu.

Informations originales d'ici https://blog.sleeplessbeastie.eu/2017/11/02/how-to-fix-missing-dirmngr/


1

Si vous voulez maintenant de nouvelles fonctionnalités, il est possible d'obtenir les versions 9 et 10 comme ceci:

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 pour Raspberry Pi: https://www.bell-sw.com/java-for-raspberry-pi.html


0

Avez-vous déjà essayé ce guide? 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

Modifier sudo nano -w /etc/profileet ajouter

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

java -version

pour voir si java fonctionne


1
Merci pour la question détaillée, mais j'ai déjà installé Java 8. Ma question concerne la mise à jour vers des versions plus récentes.
Traveling Tech Guy

Ne fonctionne pas, Java installé apt-get est prioritaire sur le chemin puisqu'il est dans/usr/bin/java
Wim Deblauwe

3
Ce sont des instructions très anciennes, et ne sont plus valides
scruss

+1 pour passer à openjdk, que ce soit pour 7 ou 8 si possible. Il est beaucoup plus facile de se tenir à jour que de télécharger manuellement les nouvelles versions à partir de la page Web d'Oracle qu'avec un simple apt. La version par défaut peut facilement être changée avec sudo update-alternatives --config java; sudo update-alternatives --config javaet ne doit être effectuée qu'une seule fois.
MadMike
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.