Bagaimana cara memperbarui Java 8 di Raspbian

19

Raspberry Pi 3 saya datang dengan Java versi 1.8.0_65 diinstal. Saya tidak dapat memperbaruinya ke versi yang lebih baru menggunakan apt-get- Saya berasumsi tidak ada repo Debian untuk itu. Saya tidak tahu cara memperbaruinya, dan menginstal versi yang lebih baru tidak menggantikan yang sudah ada.

Apa cara bertaruh untuk menginstal / memperbarui Java di Raspbian, dan menjaganya agar tetap diperbarui?

Bepergian Tech Guy
sumber
Ada proses agak rumit yang melibatkan memanggil pembaruan-alternatif untuk setiap komponen JRE / JDK. Oracle tidak menyediakan layanan pembaruan otomatis, karena Anda harus masuk secara manual ke situs mereka untuk mengunduh pembaruan. Kecuali jika ini sangat penting, saya akan tetap menggunakan Raspbian oracle-java8-jdk
default
@ traveling-tech-guy Jika ada jawaban di bawah ini, jawab pertanyaan Anda, tandai begitu. Jika Anda menyelesaikannya dengan cara yang berbeda, silakan kirim jawaban untuk pertanyaan Anda sendiri dan tandai itu.
not2qubit
@ not2qubit tidak ada, saya harus menghapus dan menginstal ulang. Lihat komentar saya untuk jawaban kedua.
Traveling Tech Guy

Jawaban:

10

Untuk selalu menginstal Java java terbaru, Anda dapat memeriksa Java saat ini

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

hapus OpenJDK

sudo apt-get purge openjdk*

tambahkan kunci digital

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

tambahkan sumber paket

sudo vim /etc/apt/sources.list

tambahkan baris berikut

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

instal Java 8

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

hapus Java lama

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

periksa kesuksesan

java -version

pi @ raspberrypi: ~ $ java -versi versi 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 campuran)

hannes ach
sumber
1
Jawaban yang bagus Aku hanya harus melihat bahwa perintah apt-keyitu disisipkan dengan dasbor panjang, yang di beberapa titik harus sengaja mengganti tanda hubung ganda --sehingga perintah tidak bekerja, dan mengakibatkan kesalahan aneh: gpg: conflicting commands. Saya telah mengedit jawaban untuk memperbaikinya.
SWilk
2
Ini tidak berhasil dengan Peregangan Rasbian. Instruksi di gist.github.com/ribasco/fff7d30b31807eb02b32bcf35164f11f bekerja untuk saya.
Kevin Doyon
sudo apt-get purge java7*dihapus oracle-java8-jdk...
Cardinal System
3

Saran berikut oleh hannes ach dan SWilk berhasil, tetapi saya mendapat kesalahan berikut:

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

Untuk mengatasinya, saya berlari:

sudo apt-get install dirmngr --install-recommends

kemudian

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

Kemudian, semuanya berjalan seperti yang diharapkan.

Info asli dari sini https://blog.sleeplessbeastie.eu/2017/11/02/how-to-fix-missing-dirmngr/

Dmitriy Pichugin
sumber
1

Jika Anda ingin fitur baru sekarang, mungkin untuk mendapatkan versi 9 dan 10 seperti ini:

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

Dmitry
sumber
0

Sudahkah Anda mencoba panduan ini? http://elinux.org/RPi_Java#Instaling_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

Edit sudo nano -w /etc/profiledan tambahkan

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

java -version

untuk melihat apakah java berfungsi

Neckbeard2016
sumber
1
Terima kasih untuk pertanyaan terperinci, tetapi saya sudah menginstal Java 8. Pertanyaan saya berkaitan dengan memperbarui ke versi yang lebih baru.
Traveling Tech Guy
Tidak berfungsi, Java yang terinstal apt-get lebih diutamakan pada path karena berada di/usr/bin/java
Wim Deblauwe
3
Ini adalah instruksi yang sangat lama, dan tidak berlaku lagi
scruss
+1 untuk beralih ke openjdk, baik untuk 7 atau 8 jika memungkinkan. Jauh lebih mudah untuk tetap terkini daripada mengunduh rilis baru secara manual dari halaman web oracle daripada dengan apt yang sederhana. Versi default dapat dengan mudah diaktifkan sudo update-alternatives --config java; sudo update-alternatives --config javadan hanya perlu dilakukan sekali.
MadMike