ฉันจะอัปเดต Java 8 ใน Raspbian ได้อย่างไร


19

My Raspberry Pi 3 มาพร้อมกับ Java เวอร์ชั่น 1.8.0_65 ติดตั้งอยู่ ฉันไม่สามารถอัปเดตเป็นรุ่นที่ใหม่กว่าโดยใช้apt-get- ฉันถือว่าไม่มี Debian repo สำหรับมัน ฉันไม่ทราบวิธีการอัปเดตและการติดตั้งเวอร์ชันที่ใหม่กว่าจะไม่แทนที่รุ่นที่มีอยู่เดิม

วิธีเดิมพันเพื่อติดตั้ง / อัปเดต Java บน Raspbian คืออะไรและให้อัปเดตอยู่เสมอ


มีกระบวนการที่ค่อนข้างยุ่งเกี่ยวกับการเรียกการปรับปรุงทางเลือกสำหรับแต่ละองค์ประกอบของ JRE / JDK Oracle ไม่ได้ให้บริการอัพเดทอัตโนมัติตามที่คุณต้องการเข้าสู่ระบบด้วยตนเองในเว็บไซต์ของพวกเขาที่จะดาวน์โหลด updates.Unless นี้เป็นภารกิจที่สำคัญฉันติดกับค่าเริ่มต้น Raspbian ออราเคิล java8-jdk
scruss

@ traveling-tech-guy หากคำตอบใด ๆ ด้านล่างตอบคำถามของคุณโปรดทำเครื่องหมายไว้เช่นนั้น หากคุณแก้ไขด้วยวิธีอื่นโปรดโพสต์คำตอบสำหรับคำถามของคุณเองและทำเครื่องหมายว่า
not2qubit

@ not2qubit ไม่มีเลยฉันต้องถอนการติดตั้งและติดตั้งใหม่ ดูความคิดเห็นของฉันเพื่อคำตอบที่สอง
เดินทางเทค Guy

คำตอบ:


10

หากต้องการติดตั้ง Oracle java ล่าสุดตลอดเวลาคุณสามารถตรวจสอบ Java ปัจจุบัน

pi @ raspberrypi: ~ $ java -version รุ่น java "1.8.0_65" สภาพแวดล้อมรันไทม์ Java (TM) SE (สร้าง 1.8.0_65-b17) ไคลเอนต์ Java HotSpot (TM) ของ Java (สร้าง 25.65-b01, โหมดผสม)

ลบ OpenJDK

sudo apt-get purge openjdk*

เพิ่มรหัสดิจิตอล

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

เพิ่มแหล่งแพ็กเก็ต

sudo vim /etc/apt/sources.list

เพิ่มบรรทัดต่อไปนี้

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

ติดตั้ง Java 8

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

ลบ Java เก่า

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

ตรวจสอบความสำเร็จ

java -version

pi @ raspberrypi: ~ $ java -version รุ่นจาวา "1.8.0_131" Java (TM) SE สภาวะแวดล้อมรันไทม์ (สร้าง 1.8.0_131-b11) ไคลเอนต์ Java HotSpot (TM) ไคลเอนต์ VM (build 25.131-b11, โหมดผสม)


1
คำตอบที่ดี ฉันมีเพียงการแจ้งให้ทราบว่าคำสั่งapt-keyถูกวางกับเส้นประยาวซึ่งในบางจุดที่จะต้องตั้งใจแทนที่ขีดกลางคู่เพื่อให้คำสั่งไม่ได้ทำงานและส่งผลให้เกิดข้อผิดพลาดประหลาด:-- gpg: conflicting commandsฉันได้แก้ไขคำตอบเพื่อแก้ไข
SWILK

2
สิ่งนี้ใช้ไม่ได้กับ Rasbian Stretch คำแนะนำที่gist.github.com/ribasco/fff7d30b31807eb02b32bcf35164f11f ใช้ได้สำหรับฉัน
Kevin Doyon

sudo apt-get purge java7*ลบoracle-java8-jdk...
ระบบที่

3

คำแนะนำต่อไปนี้โดย hannes ach และ SWilk สำเร็จ แต่ฉันได้รับข้อผิดพลาดต่อไปนี้:

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

เพื่อที่จะแก้ไขปัญหานั้นฉันวิ่ง:

sudo apt-get install dirmngr --install-recommends

แล้วก็

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

จากนั้นทุกอย่างทำงานตามที่คาดไว้

ข้อมูลต้นฉบับจากที่นี่ https://blog.sleeplessbeastie.eu/2017/11/02/how-to-fix-missing-dirmngr/


1

หากคุณต้องการคุณสมบัติใหม่ตอนนี้เป็นไปได้ที่จะได้รับเวอร์ชัน 9 และ 10 เช่นนี้:

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 สำหรับ Raspberry Pi: https://www.bell-sw.com/java-for-raspberry-pi.html


0

คุณลองคู่มือนี้แล้วหรือยัง 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

แก้ไขsudo nano -w /etc/profileและเพิ่ม

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

java -version

เพื่อดูว่าจาวาทำงานอยู่หรือไม่


1
ขอบคุณสำหรับคำถามโดยละเอียด แต่ฉันได้ติดตั้ง Java 8 แล้ว คำถามของฉันเกี่ยวกับการอัปเดตเป็นเวอร์ชันที่ใหม่กว่า
Guy Tech กำลังเดินทาง

ไม่ทำงาน Java ที่ติดตั้ง apt-get กำลังนำหน้าบนเส้นทางเนื่องจากอยู่ใน/usr/bin/java
Wim Deblauwe

3
เหล่านี้เป็นคำแนะนำที่เก่ามากและจะไม่ถูกต้อง
scruss

+1 เพื่อเปลี่ยนเป็น openjdk ไม่ว่าจะเป็น 7 หรือ 8 ถ้าเป็นไปได้ มันง่ายกว่ามากในการรักษาความเป็นปัจจุบันมากกว่าการดาวน์โหลดรีลีสใหม่ด้วยตนเองจาก oracle เว็บเพจมากกว่าการใช้ apt ง่าย ๆ เวอร์ชันเริ่มต้นสามารถสลับได้อย่างง่ายดายsudo update-alternatives --config java; sudo update-alternatives --config javaและจะต้องทำเพียงครั้งเดียว
MadMike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.