Come aggiorno Java 8 in Raspbian


19

My Raspberry Pi 3 è stato installato con la versione 1.8.0_65 di Java. Non ho potuto aggiornarlo a una versione successiva usando apt-get- suppongo che non ci sia un repository Debian per questo. Non so come aggiornarlo e l'installazione di una versione più recente non sostituisce quella esistente.

Qual è il modo di scommettere per installare / aggiornare Java su Raspbian e mantenerlo aggiornato in futuro?


Esiste un processo piuttosto complicato che prevede la chiamata di alternative di aggiornamento per ciascun componente di JRE / JDK. Oracle non fornisce un servizio di aggiornamento automatico, poiché è necessario accedere manualmente al proprio sito per scaricare gli aggiornamenti. A meno che ciò non sia critico, rimarrei con l'originale Raspbian oracle-java8-jdk
scruss

@ travelling-tech-guy Se una qualsiasi delle risposte di seguito, ha risposto alla tua domanda, ti preghiamo di contrassegnarle così. Se l'hai risolto in modo diverso, pubblica una risposta alla tua domanda e contrassegnala.
not2qubit

@ not2qubit nessuno ha fatto, ho dovuto disinstallare e reinstallare. Vedi il mio commento alla seconda risposta.
Traveling Tech Guy

Risposte:


10

Per avere sempre installato il java Oracle più recente, è possibile controllare Java corrente

pi @ raspberrypi: ~ $ java -version java version "1.8.0_65" Java (TM) SE Runtime Environment (build 1.8.0_65-b17) VM client HotSpot (TM) Java (build 25.65-b01, modalità mista)

rimuovere OpenJDK

sudo apt-get purge openjdk*

aggiungi chiave digitale

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

aggiungi sorgente pacchetto

sudo vim /etc/apt/sources.list

aggiungi le seguenti righe

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

installa Java 8

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

rimuovere la vecchia Java

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

controllare il successo

java -version

pi @ raspberrypi: ~ $ java -version java version "1.8.0_131" Java (TM) SE Runtime Environment (build 1.8.0_131-b11) VM client HotSpot (TM) Java (build 25.131-b11, modalità mista)


1
Bella risposta. Ho avuto solo a notare che il comando apt-keyè stato incollato con il trattino lungo, che ad un certo punto ha dovuto sostituire accidentalmente doppio trattino --in modo che il comando non ha funzionato, e ha portato per errore strano: gpg: conflicting commands. Ho modificato la risposta per correggerla.
SWilk,

2
Questo non ha funzionato con Rasbian Stretch. Le istruzioni su gist.github.com/ribasco/fff7d30b31807eb02b32bcf35164f11f hanno funzionato per me.
Kevin Doyon,

sudo apt-get purge java7*rimosso oracle-java8-jdk...
Cardinale System

3

Il seguente consiglio di hannes ach e SWilk ha avuto esito positivo, ma ho riscontrato il seguente errore:

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

Per risolverlo, ho eseguito:

sudo apt-get install dirmngr --install-recommends

poi

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

Quindi, tutto ha funzionato come previsto.

Informazioni originali da qui https://blog.sleeplessbeastie.eu/2017/11/02/how-to-fix-missing-dirmngr/


1

Se vuoi nuove funzionalità ora è possibile ottenere le versioni 9 e 10 in questo modo:

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


0

Hai già provato questa guida? 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

Modifica sudo nano -w /etc/profilee aggiungi

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

java -version

per vedere se Java sta funzionando


1
Grazie per la domanda dettagliata, ma ho già installato Java 8. La mia domanda ha a che fare con l'aggiornamento alle versioni più recenti.
Traveling Tech Guy,

Non funziona, apt-get Java installato ha la precedenza sul percorso poiché è presente/usr/bin/java
Wim Deblauwe,

3
Queste sono istruzioni molto vecchie e non sono più valide
scruss

+1 per passare a openjdk, sia esso 7 o 8 se possibile. È molto più facile essere aggiornati rispetto al download manuale di nuove versioni dalla pagina Web di Oracle che con un semplice apt. La versione predefinita può essere facilmente cambiata sudo update-alternatives --config java; sudo update-alternatives --config javae deve essere eseguita una sola volta.
MadMike,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.