Wie aktualisiere ich Java 8 in Raspbian?

19

Auf meinem Raspberry Pi 3 war Java Version 1.8.0_65 installiert. Ich konnte es nicht mit auf eine spätere Version updaten apt-get- ich nehme an, es gibt kein Debian-Repo dafür. Ich weiß nicht, wie ich es aktualisieren soll, und die Installation einer neueren Version ersetzt nicht die vorhandene.

Was ist die beste Möglichkeit, Java auf Raspbian zu installieren / zu aktualisieren und in Zukunft auf dem neuesten Stand zu halten?

Reisender Tech-Typ
quelle
Es ist ein ziemlich komplizierter Prozess, für jede Komponente des JRE / JDK Update-Alternativen aufzurufen . Oracle bietet keinen Auto-Update-Service an, da Sie sich manuell auf seiner Website anmelden müssen, um Updates herunterzuladen. Sofern dies nicht geschäftskritisch ist, würde ich mich an den Standard-Raspbian oracle-java8-jdk halten
scruss
@ travelling-tech-guy Wenn eine der folgenden Antworten Ihre Frage beantwortet hat, markieren Sie sie bitte so. Wenn Sie es anders gelöst haben, geben Sie bitte eine Antwort auf Ihre Frage ein und markieren Sie diese.
not2qubit
@ not2qubit hat keiner gemacht, ich musste deinstallieren und neu installieren. Siehe meinen Kommentar zur zweiten Antwort.
Travelling Tech Guy

Antworten:

10

Um immer das neueste Oracle Java zu installieren, können Sie das aktuelle Java überprüfen

pi @ raspberrypi: ~ $ java -version Java-Version "1.8.0_65" Java (TM) SE-Laufzeitumgebung (Build 1.8.0_65-b17) Java HotSpot (TM) -Client-VM (Build 25.65-b01, gemischter Modus)

OpenJDK entfernen

sudo apt-get purge openjdk*

digitalen Schlüssel hinzufügen

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

Paketquelle hinzufügen

sudo vim /etc/apt/sources.list

füge folgende Zeilen hinzu

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

Installieren Sie Java 8

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

entfernen Sie altes Java

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

Erfolg überprüfen

java -version

pi @ raspberrypi: ~ $ java -version Java-Version "1.8.0_131" Java (TM) SE-Laufzeitumgebung (Build 1.8.0_131-b11) Java HotSpot (TM) -Client-VM (Build 25.131-b11, gemischter Modus)

hannes ach
quelle
1
Gute Antwort. Ich habe nur zu bemerken habe , dass der Befehl apt-keymit dem eingefügten wurde langen Strich, die irgendwann aus Versehen mußte Doppel Striche ersetzen , --so der Befehl nicht funktioniert hat, und führte zu seltsamen Fehlern: gpg: conflicting commands. Ich habe die Antwort bearbeitet, um sie zu korrigieren.
SWilk
2
Bei Rasbian Stretch funktionierte das nicht. Die Anleitung unter gist.github.com/ribasco/fff7d30b31807eb02b32bcf35164f11f hat bei mir funktioniert.
Kevin Doyon
sudo apt-get purge java7*entfernt oracle-java8-jdk...
Kardinalsystem
3

Der folgende Rat von hannes ach und SWilk war erfolgreich, aber ich habe den folgenden Fehler erhalten:

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

Um das zu lösen, lief ich:

sudo apt-get install dirmngr --install-recommends

dann

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

Dann hat alles wie erwartet funktioniert.

Ursprüngliche Informationen von hier https://blog.sleeplessbeastie.eu/2017/11/02/how-to-fix-missing-dirmngr/

Dmitriy Pichugin
quelle
1

Wenn Sie jetzt neue Funktionen wünschen, können Sie Version 9 und 10 wie folgt herunterladen:

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

Dmitry
quelle
0

Haben Sie diese Anleitung schon ausprobiert? 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

Bearbeiten sudo nano -w /etc/profileund hinzufügen

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

java -version

um zu sehen, ob Java funktioniert

Halsbart2016
quelle
1
Vielen Dank für die ausführliche Frage, aber ich habe bereits Java 8 installiert. Meine Frage hat mit dem Update auf neuere Versionen zu tun.
Travelling Tech Guy
Funktioniert nicht, die apt-get installierte Java hat Vorrang auf dem Pfad, da es in ist/usr/bin/java
Wim Deblauwe
3
Dies sind sehr alte Anweisungen, die nicht mehr gültig sind
siehe
+1, um zu openjdk zu wechseln, wenn möglich für 7 oder 8. Es ist viel einfacher, auf dem neuesten Stand zu bleiben, als neue Releases manuell von der Oracle-Webseite herunterzuladen, als mit einer einfachen App. Die Standardversion kann einfach mit gewechselt werden sudo update-alternatives --config java; sudo update-alternatives --config javaund muss nur einmal durchgeführt werden.
MadMike