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?

Voyager Tech Guy
la source
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)

hannes ach
la source
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/

Dmitriy Pichugin
la source
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

Dmitry
la source
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

Neckbeard2016
la source
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