So installieren Sie das Java JDK auf Raspberry Pi

40

Ich bin ein erfahrener Java-Programmierer, der den Raspberry Pi zu Weihnachten erhalten hat. Leider scheint nur Python darin installiert zu sein. Welchen Befehl gebe ich in der Startbefehlszeile ein, in der ich normalerweise startx eingeben würde, um das JDK und die JRE zu installieren?

imulsion
quelle
1
GCC ist ebenfalls in der Standarddistribution installiert, daher sind C und C ++ ebenfalls Optionen.
Clifford
1
Endlich ist eine stabile Version von Oracle JDK 7 verfügbar (siehe meine Antwort unten). Im Gegensatz zu JDK 8 ist es keine Beta und es ist immer noch schnell.
Blaisorblade

Antworten:

21

[Hinweis: Später im Jahr 2013 gab die Pi Foundation bekannt, dass Raspbian jetzt mit Oracle Hard-Float ausgeliefert wird.]

Die Vorschau von Orakel 8 funktioniert bei mir bisher. Überraschenderweise ist das Kompilieren auf dem Pi langsam, aber der JRE scheint nach dem Laden ziemlich schnell zu laufen. Ich denke, die Antwort von Bearbin ist ziemlich eindeutig, aber wenn Sie einen einfachen Weg suchen, um Orakel auszuprobieren:

  1. Herunterladen . Sie erhalten eine .tar.gz-Datei, bei der es sich um einen komprimierten Tarball handelt.
  2. Legen Sie die .tar.gz in /usr/localund entpacken Sie es: tar -xzf oracle8-blah-blah.tar.gz. Dadurch wird ein Verzeichnis erstellt, in dem sich alles befindet. Sie können das Verzeichnis umbenennen mv oracle-jdk-whatever jdk1.8.0. Alles darin ist in sich geschlossen.
  3. Stellen Sie das Verzeichnis bin / an den Anfang Ihrer ausführbaren Suche $ PATH. Wenn es irgendwelche anderen javas installiert sind, dass diese eine haben Vorrang machen: PATH=/usr/local/jdk1.8.0/bin:$PATH.

Das funktioniert nur für Ihre aktuelle Shell. Fügen Sie Folgendes hinzu, um es von nun an zur Standardeinstellung zu machen ~/.profile:

export PATH=/usr/local/jdk1.8.0/bin:$PATH

Beachten Sie, dass Sie sich erneut anmelden müssen, um .profilewirksam zu werden. Bei Verwendung lightdmder Standard-GUI-Anmeldung wird dies jedoch nicht ausgeführt. Hier finden Sie eine Lösung .

Goldlöckchen
quelle
42

Führen Sie den folgenden Befehl aus, um Java Runtime Environment (JRE) zu installieren:

sudo apt-get install openjdk-7-jre

Dadurch wird Java JRE (Java Runtime Environment) installiert, mit dem Sie in Java geschriebene Anwendungen ausführen können.

Führen Sie den folgenden Befehl aus, um das JDK zu installieren:

sudo apt-get install openjdk-7-jdk

Auf diese Weise können Sie Java-Anwendungen zu Bytecode kompilieren.

Wenn Sie die Oracle Java VM möchten, die viel schneller ist (optimiert für Embedded-Arm-CPUs) und auch eine Entwicklervorschau (Anwendungen können fehlerhaft sein oder abstürzen), bis in die Zukunft. Anstelle der obigen Anweisungen müssen Sie die Oracle JDK 8 (with JavaFX) for ARM Early Accessauf der Oracle Java 8-Downloadseite aufgerufene Datei herunterladen .

Denken Sie daran, das Oracle Java-System auf Ihren Pi herunterzuladen, da Sie es sonst nicht installieren können.

So installieren Sie das Oracle Java-System:

sudo tar zxvf jdk-8-ea-b36e-linux-arm-hflt-*.tar.gz -C /opt
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0/bin/java" 1 
sudo update-alternatives for other commands if needed (e.g. javac).
java -version

Dann ist alles installiert.

Wenn Sie mehr als eine Java-Laufzeit installiert haben, müssen Sie außerdem überprüfen, welche Version Sie mit dem Befehl verwenden java -version. Wenn die Ausgabe ist:

java version 1.5.0 gij (GNU libgij)

Dann verwenden Sie eine andere Java-Laufzeit. Sie können das Problem beheben, indem Sie ausführen

sudo update-alternatives --config java

und wählen Sie die Option OpenJDK oder Oracle.

hifkanotiks
quelle
Beim Ausführen des tar zxvf jdk...Befehls treten zwei Fehler auf (der zweite wird wiederholt):tar (child): jdk...tar.gz: no such file or directory tar (child): fatal error received. exiting now
Imulsion
@imulsion Die Datei hat möglicherweise einen etwas anderen Namen - geben Sie den lsBefehl ein und verwenden Sie stattdessen die Datei mit einem ähnlichen Namen.
Hifkanotiks
was geben nach ls?
Imulsion
tar zxvf []Dabei ist [] die Datei mit einem ähnlichen Namen.
Hifkanotiks
1
Nur weil du nach / opt kopierst. Du würdest es normalerweise nicht brauchen.
Daviewales
8

Die Installation von Oracle Java 7 JDK (aber nicht JRE) hard-float für RPi ist jetzt so einfach wie:

sudo apt-get update && sudo apt-get install oracle-java7-jdk

( Quelle )

Früher habe ich die alten Prozesse durchlaufen, die oben verlinkt waren, aber da sie es einfach gemacht haben, mache ich das jetzt einfach.

unschuldig
quelle
1
Besser noch, wenn Ihr Wheezy von 2013-09-25-wheezy-raspbianoder später ( hier ) stammt, scheint Oracle Java 7 JDK vorinstalliert zu sein.
Unschuldig
4

sudo apt-get install java-runtime

Dies ist OpenJDK 6.

Oracle JDK ist nicht in der Version armhf verfügbar. Sie müssen daher ein Soft-Float-Image verwenden, um es zu verwenden.

M Nein
quelle
3
Oracle JDK 8 ist in einer Entwicklervorschau verfügbar. Für meinen Fall funktioniert es problemlos. raspberrypi.org/phpBB3/viewtopic.php?f=81&t=26110
keiki
@M Nein, es heißt, es gibt Unmengen von Paketen, die ich installieren kann und die ich angeben muss. Was soll ich eingeben?
Imulsion
0

Detaillierte Anweisungen für Java SE Embedded von Oracle finden Sie hier .

Clifford
quelle
0

Heutzutage können Sie anstelle von Early Access JDK 8 die Hardfloat- Version von Oracle JDK 7 installieren , die von Oracle (im Gegensatz zu JDK 8) vollständig unterstützt wird.

Die aktuelle Download-Seite von Oracle (genau wie in anderen Java-Versionen): http://www.oracle.com/technetwork/java/javase/downloads/index.html

(Es ist keine JRE verfügbar, Sie müssen das vollständige JDK herunterladen.)

Ankündigung: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=81&t=49588

Beziehen Sie sich für die Installation auf die Antwort von bearbin .

Blaisorblade
quelle