วิธีการติดตั้ง OpenJDK 8 บน 14.04 LTS


306

Java 8 พร้อมใช้งานแล้วตามhttp://openjdk.java.net/projects/jdk8/แต่http://openjdk.java.net/install/ยังไม่ได้กล่าวถึงวิธีการติดตั้ง OpenJDK 8 (ไม่ใช่ Oracle Java) บน รองรับ Ubuntu 14.04 ระยะยาว (สำหรับ 14.10 และหลังจากนั้นให้เรียกใช้apt-get install openjdk-8-jdk)

สิ่งนี้จะเกิดขึ้นได้อย่างไรและเมื่อไหร่?

(2017-08-08: คำตอบสั้น ๆ คือ: OpenJDK 8 ณ วันที่ 2017-08-08 ไม่สามารถใช้งานได้อย่างเป็นทางการจากที่เก็บอย่างเป็นทางการในฐานะแพคเกจ APT สำหรับ Ubuntu 14.04 ดูสรุปแบบเต็มในคำตอบนี้ )

หมายเหตุ: สำหรับตอนนี้เราจะใช้ Oracle Java - ทางออกที่ดีที่สุดสำหรับฉันคือ OpenJDK จากที่เก็บ Ubuntu จนกระทั่ง Oracle Java สามารถใช้งานได้โดยตรงและไม่ต้องยุ่งยากจากคลังเก็บ Ubuntu



1
คุณต้องรวบรวมมันเอง นี่คือวิธี: github.com/hgomez/obuildfactory/wiki/…เปลี่ยนชื่อไฟล์เพื่อให้ตรงกับเวอร์ชัน 8 ;-)
Rinzwind

2
Azul เริ่มให้บริการ OpenJDK build ภายใต้ชื่อ "Zulu" ซึ่งสามารถดาวน์โหลดแกะและใช้งานได้โดยอัตโนมัติ (พวกเขาได้รับเงินจากการสนับสนุน) azulsystems.com/products/zulu/downloads
Thorbjørn Ravn Andersen

1
โดยเฉพาะอย่างยิ่ง ppa เดียวกับที่ apt-fast สำหรับ trusty นั้นโฮสต์อยู่ppa:saiarcot895/myppa, มีเวอร์ชันของ openjdk-8 ที่ใช้งานได้ ยัก
ThorSummoner

เมื่อเวลาผ่านไปดูเหมือนว่าทางออกที่ง่ายที่สุดคือเพียงแค่ปรับระดับ 16.04 LTS เมื่อมีให้บริการ
Thorbjørn Ravn Andersen

คำตอบ:


277

คุณสามารถทำสิ่งนี้เพื่อ;

การปรับปรุงครั้งสุดท้าย

JDK

sudo apt-get install openjdk-8-jdk

JRE

sudo apt-get install openjdk-8-jre

อัพเดตเก่า

ฉันพบที่เก็บสองแห่ง แต่ฉันไม่แนะนำ

  • OpenJDK บิลด์ (อาร์คทั้งหมด)

    ppa:openjdk-r/ppa
  • OpenJDK 8 backport สำหรับความไว้วางใจ

    ppa:jochenkemnade/openjdk-8

ข้อความต้นฉบับ

หากคุณต้องการใช้ OpenJDK จริงๆคุณต้องรวบรวมจากแหล่งที่มา ยังไม่มี PPA ใด ๆ สำหรับ OpenJDK

ได้รับการร้องขอที่ https://bugs.launchpad.net/ubuntu/+bug/1297065

ฉันแนะนำให้คุณใช้Webup8 Oracle Java8 Installer

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer

เพื่อตั้งค่าตัวแปรสภาพแวดล้อม Java 8 โดยอัตโนมัติ

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

ตรวจสอบ

java -version

ดังนั้นคุณต้องรอใช้ OpenJDK8


8
@ JohnMerlino ฉันคาดเดาว่า PPA จะอนุญาตให้อัปเดตอัตโนมัติเมื่อมีเวอร์ชันใหม่ออกมา
Thorbjørn Ravn Andersen

7
openjdk-8 เป็น Utopic แล้ว bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1341628ได้รับการยกระดับให้เป็น backport เป็น 14.04 เนื่องจากเป็น LTS:
Thorbjørn Ravn Andersen

56
ทำไมการแก้ไขใหม่ ดูเหมือนว่ายังไม่ได้อยู่ใน repo 14.04 และยังsudo apt-get install openjdk-8-jdkไม่ได้ผลอย่างน้อยสำหรับฉัน
xji

17
ตั้งแต่วันที่ 2016-01-11 ยังไม่มีความจำเป็นสำหรับ Ubuntu PPA เนื่องจาก OpenJDK 8 ยังไม่ได้ลงสู่ backport ฉันไม่คิดว่านี่เป็นคำตอบสำหรับคำถามของฉันแม้ว่าจะปรากฏว่าคนอื่นทำ
Thorbjørn Ravn Andersen

8
คำตอบนี้ทำให้เข้าใจผิดอย่างมากเนื่องจากความไม่สมบูรณ์มันบอกว่ามันไม่แนะนำ PPA ที่กล่าวถึง แต่จะไม่ทำงานหากไม่มีมัน
Reinier โพสต์

176
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac

7
พื้นที่เก็บข้อมูลนี้ลงวันที่; ณ วันนี้รุ่นล่าสุดของ openjdk 1.8 คือ 66 รุ่นที่มีอยู่ในพื้นที่เก็บข้อมูลนี้คือ 45
mattm

ไม่สามารถดึงข้อมูลppa.launchpad.net/openjdk-r/ppa/ubuntu/pool/main/o/openjdk-8/… 502 apt-cacher: ข้อผิดพลาด libcurl: ความล้มเหลวเมื่อรับข้อมูลจากเพียร์
Rajesh Hatwar

1
เหล่านี้เป็นขั้นตอนน้อยที่สุดที่ถูกต้อง 4 และ 5 เป็นตัวเลือกและอาจไม่จำเป็นต้องใช้
อากาศ

ไม่ทำงานกับ Ubuntu 14.04E: Package 'openjdk-8-jdk' has no installation candidate
ไร้เดียงสา

สิ่งนี้ใช้ได้สำหรับฉันเมื่ออัปเกรด Jenkins (ต้องใช้ Java8 เวอร์ชันใหม่ระบบของฉันติดตั้ง Java7 ไว้แล้วเท่านั้น) จากบันทึกย่อบรรทัดที่สี่มีความสำคัญยิ่งต่อการทำให้เจนกินส์ประพฤติตนอย่างเหมาะสม Jenkins requires Java8 or later, but you are running 1.7.0_121-b00 from /usr/lib/jvm/java-7-openjdk-amd64/jreจนวิ่งมันฉันเก็บรับ มี upvote ... ฉันจะให้คุณมากกว่านี้ถ้าทำได้
Doktor J

62

OpenJDK 8 เปิดตัวในเดือนมีนาคม 2014 ณ เวลาที่มีคำถามนี้ไม่มีแพ็คเกจ OpenJDK 8 ในที่เก็บของ Ubuntu อย่างเป็นทางการสำหรับ Ubuntu ทุกรุ่น พวกเขา "จะพร้อมใช้งานในเร็ว ๆ นี้" ตามที่หน้าโครงการ JDK 8 แจ้งว่าสำหรับคำนิยามบางอย่างในไม่ช้า

ก่อนอื่นแพ็คเกจของ OpenJDK 8 จะลงสู่ Ubuntu การพัฒนา สิ่งนี้อาจเกิดขึ้นในระหว่างรอบการพัฒนา 14.10 แต่ไม่มีกำหนดเวลาเท่าที่ฉันรู้ แพคเกจตัวอย่างบางส่วนได้ถูกสร้างขึ้นและพร้อมสำหรับการทดสอบดูประกาศในรายชื่อผู้รับจดหมายdebian-javaและ Ubuntu openjdk ในบางจุดแพคเกจเหล่านี้จะถูกอัปโหลดไปยังที่เก็บการพัฒนา Debian และ Ubuntu

เมื่อ OpenJDK 8 อยู่ในเวอร์ชันการพัฒนาของ Ubuntu ก็อาจเป็นไปได้ที่จะขอให้มัน backported เป็น 14.04 โปรดทราบว่ามันจะไม่สามารถใช้ได้ในtrustyพื้นที่เก็บข้อมูลหลักแต่ถ้าคุณใช้trusty-backportsมันอาจจะติดตั้งได้จากที่นั่นในบางจุด อ่านเกี่ยวกับขั้นตอนการขอ backports ในอูบุนตูที่นี่


4
ฉันพยายามตอบคำถามของคุณ "อย่างไรและเมื่อ" ด้วยข้อ จำกัด ที่คุณต้องการ: ต้องมาจากที่เก็บข้อมูลอย่างเป็นทางการต้องเป็น OpenJDK และต้องเป็นรุ่น 14.04 LTS
Mike Miller

30
มันคือ ก.พ. 2559 และ java 8 ยังไม่พร้อมใช้งานบน Ubuntu 14.04 LTS มันน่าผิดหวัง
Bhavin Doshi

2
มันคือเดือนเมษายน 2559 ยังไม่มีจาวา 8 ...
เตฟานเฮนนิงเซน

3
Ubuntu 16.04 จะออกมาในเดือนเมษายนปี 2016 ก็จะมีOpenJDK 8
Mike Miller

8
มันคือ Sep 2016, และ Ubuntu 14.04 LTS จะยังคงรองรับจนถึงปี 2019 ... และสถานที่มากมายจะใช้เวลานานในการปรับใช้ 16.04 เนื่องจากการเปลี่ยนแปลงขนาดใหญ่ (เช่น systemd) ดังนั้นจึงน่าผิดหวัง java 8 ไม่ใช่เรื่องง่าย ติดตั้งผ่าน apt เมื่อ 14.04 :(
geerlingguy

34

หมายเหตุ - สิ่งนี้จะใช้ได้กับ14.10 หรือใหม่กว่า :

ปลายปีที่ 1 แต่เป็นวันนี้มันทำงานได้ตามที่คาดหวังกับ apt-get

สำหรับการติดตั้ง JDK:

$ sudo apt-get install openjdk-8-jdk

สำหรับการติดตั้ง JRE:

$ sudo apt-get install openjdk-8-jre

วิธีการตั้งค่าเริ่มต้น JDK

วิธีที่เร็วที่สุด

เรียกใช้$ sudo update-alternatives --config javaและป้อนหมายเลขที่ JDK ใช้ในการเลือกของคุณ

วิธีที่สอง

แสดงรายการ JDK ที่มีอยู่:

$ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

ตอนนี้เพื่อคัดลอกและวางตำแหน่งของ Open JDK 8 เพื่อให้ตรงกับคำสั่งด้านล่าง:

$ sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64

3
ฉันยังเห็น JDK 6 และ 7 เท่านั้นไม่มี openjdk-8-jdk บน Linux 14.04 หลังจากอัปเดต sudo apt-get update คุณเพิ่มที่เก็บพิเศษหรือไม่ ฉันเปิดใช้งาน trusty-backport แล้ว
akauppi

2
ฉันคิดว่าคุณกำลังใช้ 14.10 หรือ 15.04 ใช่ไหม?
akauppi

1
ฉันไม่สามารถทำซ้ำใน 14.04 LTS โปรดยืนยันว่านี่เป็นรุ่น
Thorbjørn Ravn Andersen

1
@akauppi คุณถูกต้อง !! ฉันทำงาน 14.10 ขออภัยในความไม่สะดวกฉันควรลบคำตอบของฉันหรือไม่
caraca

1
ฉันไม่ต้องการให้ลบออก - สำหรับบางคนการใช้ 14.10 แทนที่จะเป็น 14.04 อาจเป็นทางเลือกที่ดีอย่างสมบูรณ์
akauppi

22

นี่คือสิ่งที่ฉันใช้ในการตั้งค่า Oracle Java 7 และ Java 8 [หมายเหตุ: ไม่ใช่ OpenJDK] ตั้งแต่เริ่มต้นบน Ubuntu 14.04 LTS:

apt-get -y -q update
apt-get -y -q upgrade
apt-get -y -q install software-properties-common htop
add-apt-repository ppa:webupd8team/java
apt-get -y -q update
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
apt-get -y -q install oracle-java8-installer
apt-get -y -q install oracle-java7-installer
update-java-alternatives -s java-8-oracle

สิ่งนี้ไม่ต้องใส่ข้อมูลและเหมาะสำหรับการรวมไว้ในบล็อกจัดหา Vagrant ฉันมีส่วนสำคัญที่มีรายละเอียดเพิ่มเติม: https://gist.github.com/tinkerware/cf0c47bb69bf42c2d740

แก้ไข: สิ่งนี้จะยอมรับใบอนุญาตของ Oracle สำหรับ JDK โดยอัตโนมัติ ตรวจสอบให้แน่ใจว่าคุณโอเคก่อนแล้วค่อยรัน


1
ดูดี. แต่มันหายไปส่วนที่คุณได้รับการเข้าถึงราก ยังเป็นคำตอบที่ดี
MadMike

1
ขวา; ผมใช้นี้กับคนจรจัดซึ่งกำหนดขึ้นvagrantผู้ใช้ที่มี sudopasswordless
Cagatay

5
นี่คือOracle Java ไม่ใช่OpenJDK Java ซึ่งเป็นคำถามที่เกี่ยวกับ นอกจากนี้โปรดทราบว่าเสียงสะท้อนจะวนรอบคำถามการยอมรับใบอนุญาตจากผู้ติดตั้ง
Thorbjørn Ravn Andersen

3
@ ThorbjørnRavnAndersenใช่ฉันสังเกตว่าคำถามเกี่ยวกับ OpenJDK; ฉันบอกว่าวิธีการของฉันนั้นใช้สำหรับการติดตั้ง Oracle Java คุณอาจยืนยันว่าสิ่งนี้ไม่เกี่ยวข้อง แต่ฉันคิดว่ามีค่าในการสังเกตทางเลือกที่ยังให้คุณรันไทม์ที่สามารถรัน Java 7/8 ใน 14.04 LTS "การหลบเลี่ยง" ของคำถามตอบรับใบอนุญาตเป็นตัวเลือกคำที่น่าสนใจ ฉันจะบอกว่าหนึ่งควรอ่านใบอนุญาต Oracle ก่อนที่จะเรียกใช้สคริปต์ซึ่งโดยอัตโนมัติได้รับการยอมรับในระหว่างการติดตั้ง
Cagatay

3
ขอบคุณ @Catatay !! คำตอบนี้มีประโยชน์มากสำหรับฉันฉันกำลังมองหาการติดตั้ง Java 8 โดยใช้ Vagrant
Sotsir

14

ณ วันที่ 2017-08-08 ฉันพบว่าคำถามนี้และคำตอบได้กลายเป็นเรื่องยากที่จะเข้าใจปัญหาดังนั้นฉันจึงสรุปผลการวิจัยในคำตอบนี้

คำตอบสั้นมากคือOpenJDK 8 ณ 2017/08/08 ไม่สามารถใช้ได้อย่างเป็นทางการสำหรับ Ubuntu 14.04

อย่างไรก็ตามมีตัวเลือกมากมาย:

  • อัปเกรดเป็น Ubuntu รุ่นใหม่กว่า OpenJDK 8 มีให้ตั้งแต่ 14.10 เป็นต้นไป (OpenJDK 9 จาก 16.04 LTS เป็นต้นไป OpenJDK 11 จาก 18.04 LTS เป็นต้นไป)
  • ดาวน์โหลดและติดตั้ง Oracle Java (ไม่ใช่ OpenJDK) จากhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlด้วยตนเองเป็นไฟล์ tar.gz ซึ่งเพิ่งจะต้องแตกและมี ใบอนุญาตที่ได้รับการยอมรับก่อนที่binไดเรกทอรีจะสามารถเพิ่ม$PATHตัวแปรของคุณ คุณอาจเลือกใช้ PPA ของบุคคลที่สาม โปรดทราบว่า Oracle Java ดูเหมือนว่าจะจ่ายเฉพาะลูกค้าในอนาคตอันใกล้ (รอบ Java 11)
  • ดาวน์โหลด OpenJDK 8 โดยใช้ PPA ของบุคคลที่สาม
  • ดาวน์โหลดรุ่นที่ได้รับการรับรอง Azul ของ OpenJDK 8 จากhttp://www.azul.com/downloads/zulu/zulu-linux/ (DEB)
  • รวบรวมแหล่งที่มาและติดตั้งด้วยตัวคุณเอง

ดูคำตอบอื่น ๆ สำหรับรายละเอียด

โปรดทราบว่าโดยทั่วไปแล้วการทำแพ็กเกจส่วนบุคคล (Personal Package Archives: PPA) จะทำโดยสมัครใจ เนื้อหาอาจล้าสมัยหรือหายไปโดยไม่มีการเตือนล่วงหน้า

โดยส่วนตัวฉันขอแนะนำให้อัปเกรด Ubuntu เป็น 18.04 LTS หรือถ้าไม่สามารถดาวน์โหลด Azul build ได้


หมายเหตุ: หากคุณยังคงต้องการ OpenJDK 8 กลับไปเป็น 14.04 ให้ลงคะแนนสำหรับข้อผิดพลาดนี้โดยลงชื่อเข้าใช้และคลิก "มีผลกับคุณ" ที่ด้านบน: https://bugs.launchpad.net/ubuntu/+source/openjdk-8/ + ข้อผิดพลาด / 1,368,094


5

หมายเหตุตั้งแต่วันที่ 22 เมษายน 2559 แพคเกจสำหรับ Vivid ถูกลบออกแล้วอนิจจา รายการข่าวในแพ็คเกจ. Ubuntu.com: "สะท้อน xenial release, เพิ่ม yakkety, remove bright" วิธีแก้ปัญหาของคำตอบนี้ฉลาด แต่ไม่สามารถใช้งานได้ในสถานการณ์ปัจจุบันอีกต่อไป ตั้งแต่วันที่ 6 ม.ค. 2017 ยังไม่มี backport สำหรับ java 8 บนแพคเกจที่เชื่อถือได้ Ubuntu.com/trusty-backports/java โปรดแก้ไขเมื่อมีการเปลี่ยนแปลง


ดูคำตอบจากเว็บไซต์ทางการของ Android

https://source.android.com/source/initializing.html

ไม่มีแพ็คเกจ OpenJDK 8 ที่รองรับสำหรับ Ubuntu 14.04 แพ็คเกจ Ubuntu 15.04 OpenJDK 8 นั้นสามารถใช้งานกับ Ubuntu 14.04 ได้สำเร็จ แพ็คเกจรุ่นที่ใหม่กว่า (เช่นรุ่นสำหรับ 15.10, 16.04) ไม่พบในรุ่น 14.04 โดยใช้คำแนะนำด้านล่าง

ดาวน์โหลดแพ็คเกจ. deb สำหรับสถาปัตยกรรมของคุณจากhttp://packages.ubuntu.com/vivid/openjdk-8-jdk :
openjdk-8-
jre- headless openjdk-8-
jre openjdk-8-jdk

จำไว้ว่าคุณอาจได้รับสถาปัตยกรรมสำหรับเครื่องของคุณด้วย:

$ uname -m    

x86_64 แสดงถึงสถาปัตยกรรมเคอร์เนล Linux 64 บิต (amd64) และ i386 / i486 / i586 / i686 หมายถึงระบบ 32 บิต (i386)

เลือกยืนยัน checksums ของไฟล์ที่ดาวน์โหลดโดยใช้ข้อมูลที่พบในhttp://packages.ubuntu.com/vivid/openjdk-8-jdk

ตัวอย่างเช่นเครื่องมือ sha256sum:

$ sha256sum {package file}    

ติดตั้งแพ็คเกจ:

$ sudo apt-get update    

เรียกใช้ dpkg สำหรับไฟล์. deb แต่ละไฟล์ที่คุณดาวน์โหลด มันอาจสร้างข้อผิดพลาดเนื่องจากการพึ่งพาที่ขาดหายไป:

$ sudo dpkg -i {downloaded.deb file}    

ในการแก้ไขปัญหาการพึ่งพาที่ขาดหายไป:

$ sudo apt-get -f install    

4

ฉันเพิ่งลงคะแนนที่นี่และตอนนี้เราเป็น 733 คนที่เราสนใจเกี่ยวกับ backporting openjdk-8 ถึง ubuntu-14.04

ฉันพบที่เก็บ PPAนี้ค่อนข้างอัปเดต

และหวังว่าจะได้สัญญา!

และมันก็ได้ผลกับฉันด้วย ฉันประสบความสำเร็จในการติดตั้ง openjdk-8-jdk บน ubuntu-14.04 ด้วยคำสั่งต่อไปนี้:

sudo add-apt-repository ppa:jonathonf/openjdk
sudo apt-get update
sudo apt-get install openjdk-8-jdk

และนี่คือjava -versionผลลัพธ์ของฉัน:

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~14.04.york0-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

และนี่คือuname -aผลลัพธ์ของฉัน:

Linux mars1 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

และนี่คือlsb_release -aผลลัพธ์ของฉัน:

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty

ผู้ให้บริการโฮสต์เซิร์ฟเวอร์เสมือนของฉันกำลังบอกฉันว่าพวกเขาให้การสนับสนุน Ubuntu-14.04 เท่านั้นและฉันเดาว่าพวกเขาต้องการดำเนินการเช่นนี้ต่อไปจนถึงปี 2562! ดังนั้นโปรดแจ้งให้เราทราบหากคุณรู้วิธีที่ดีกว่าสำหรับการมี openjdk-8 บน ubuntu-14.04?

ขอบคุณ!


ฉันจะแนะนำให้ใช้ Azul Zulu azul.com/downloads/zulu
Thorbjørn Ravn Andersen

ฉันยังต้องเรียกใช้สิ่งต่อไปนี้เพื่อให้มันใช้งานได้sudo update-java-alternatives --jre --set java-1.8.0-openjdk-amd64และsudo update-java-alternatives --jre-headless --set java-1.8.0-openjdk-amd64
แชมป์

2

ผู้จัดการแพคเกจระวังยังรักษาไบนารีแพคเกจของ OpenJDK 8 สำหรับ Ubuntu ซึ่งหมายความว่าคุณสามารถรับคอมไพเลอร์ Java 8 ที่ใช้งานได้ในเวลาน้อยกว่าห้านาทีเริ่มที่จะเสร็จสิ้น (ด้วยการเชื่อมต่ออินเทอร์เน็ตที่รวดเร็วแน่นอน)

ขั้นตอนคือ:

  1. ติดตั้งตัวจัดการแพ็คเกจ Nix ( https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/ ):$ bash <(curl https://nixos.org/nix/install)

  2. รันเชลล์ one-liner Nix บอกคุณเมื่อสิ้นสุดการติดตั้ง: $ . ~/.nix-profile/etc/profile.d/nix.sh

  3. ติดตั้งแพ็กเกจ OpenJDK Nix: $ nix-env -i openjdk

  4. ตรวจสอบjavac:$ javac -version

แค่นั้นแหละ. Oh, และคุณจะต้องการให้แน่ใจว่าจะใส่หนึ่งซับจากขั้นตอนที่ 2 ~/.bashrcในของคุณ นั่นจะบอกให้ห้ามเชื่อมโยงแพ็กเกจที่ติดตั้งของคุณอย่างถูกต้อง (เพราะมันจะเก็บไฟล์จริงในไดเรกทอรีที่ไม่ได้มาตรฐาน)


1
หมดความอยากรู้ - ทำไมคุณถึงต้องการแพ็คเกจเพิ่มเติมนอกเหนือจาก apt-get?
Thorbjørn Ravn Andersen

2
@ ThorbjørnRavnAndersen - เหตุผลเฉพาะคือการได้รับ OpenJDK 8 อย่างรวดเร็วด้วยความเจ็บปวดน้อยที่สุดและเหตุผลทั่วไปคือ Nix เป็นการปรับปรุงการปฏิวัติเหนือฉลาด - รับและผู้จัดการแพ็คเกจอื่น ๆ ที่มีอายุมากกว่า
Yawar

ฉันขอในกรณีทั่วไป - ไม่ใช่สำหรับ OpenJDK โดยเฉพาะ ต้องมีเหตุผลที่หนักมากสำหรับการแนะนำตัวจัดการแพคเกจใหม่เพื่อให้เกินดุลที่ไม่ได้ใช้ระบบนิเวศที่มีอยู่ซึ่งฉันมีเวลายากที่จะเห็น
Thorbjørn Ravn Andersen

1
@ ThorbjørnRavnAndersen - มีเหตุผลที่ดีมากที่แนะนำ Nix ในกรณีทั่วไป ดังที่ฉันได้กล่าวมามันเป็นการปรับปรุงที่ปฏิวัติวงการ ในระดับของคอมไพล์มากกว่า svn ลองดูinfoq.com/articles/configuration-management-with-nixเพื่อรับข้อมูลเพิ่มเติม
Yawar

2

ฉันได้รับ OpenJDK 8 จากที่เก็บ Debian อย่างเป็นทางการมากกว่า PPA แบบสุ่ม นี่คือวิธีที่ฉันทำ:

sudo apt-get install debian-keyring debian-archive-keyring

ทำ/etc/apt/sources.list.d/debian-jessie-backports.list:

deb http://<httpredir>.debian.org/debian/ jessie-backports main

สถานที่ที่คุณเปลี่ยน<httpredir>ด้วยคำนำหน้าสำหรับกระจกใกล้ (ดูhttps://www.debian.org/mirror/list )

ทำ/etc/apt/preferences.d/debian-jessie-backports:

Package: *
Pin: release o=Debian,a=jessie-backports
Pin-Priority: -200

จากนั้นทำการติดตั้งในที่สุด:

sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk

คำตอบนี้ไม่ได้ผลสำหรับฉัน openjdk-8-jdkต้องการที่ต้องการopenjdk-8-jre libjpeg62-turboตามaptหลังนี้คือ "ไม่สามารถติดตั้งได้" หรือมากกว่า verbosely "ไม่สามารถใช้ได้ แต่ถูกอ้างถึงโดยแพคเกจอื่นซึ่งอาจหมายถึงแพคเกจที่ขาดหายไปได้รับล้าสมัยหรือมีอยู่จากแหล่งอื่น" - ดังนั้นจึงไม่ จากที่เก็บฉันมี การไล่ล่านั้นกว้างเกินไปที่จะฉลาด
XavierStuvw

1

จริงๆแล้วมันง่ายในการสร้าง Java 8 ด้วยตัวคุณเองโดยตรงจากแหล่งต่างๆ ... ฟังดูน่ากลัวใช่ไหม มันเป็นเรื่องง่ายอย่างน่าประหลาดใจและใช้เวลาประมาณ 15 นาทีโดยใช้https://github.com/hgomez/obuildfactory/ตามที่ฉันได้อธิบายไว้ในhttp://blog2.vorburger.ch/2014/06/build- ของคุณเอง jdk-at-home.html


1
อาคารเป็นสิ่งหนึ่ง แล้ว TCK ล่ะ?
Thorbjørn Ravn Andersen

1
@ ThorbjørnRavnAndersenฉันไม่มีความคิด สำหรับผู้ใช้ปลายทางการสร้างด้วยตนเองนั้นมีประโยชน์อยู่แล้ว IMHO สำหรับการเตรียมบรรจุภัณฑ์ที่ผ่านการทดสอบจริง ๆ แล้วมันอาจเป็นอีกเรื่องหนึ่ง ... ฉันเกรงว่าฉันไม่รู้อะไรเลยนอกจากคุณ ฉันแค่มองไปรอบ ๆ และพบopenjdk.java.net/groups/conformance/JckAccessคุณเคยเห็นไหม?
vorburger

1

อัปเดตเมื่อวันที่ 11 มีนาคม 2559 เรียกใช้เป็นรูท:

apt-get update
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DA1A4A13543B466853BAF164EB9B1D8886F44E2A
touch /etc/apt/sources.list.d/openjdk.list
echo "deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main " >>/etc/apt/sources.list.d/openjdk.list
echo "deb-src http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main" >>/etc/apt/sources.list.d/openjdk.list
apt-get update
apt-get -y install openjdk-8-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
echo "$JAVA_HOME"

2
ไม่จำเป็นต้องใช้บรรทัดแรก ถัดไป 4 add-apt-repository ppa:openjdk-r/ppaสายเทียบเท่ากับ คำตอบนี้ซ้ำซ้อนกับคำตอบที่เก่ากว่า
Paul Stelian

1
โดยสรุป (ลงวันที่ 2017-05-02) นี่คือสิ่งที่เหมาะกับฉัน sudo add-apt-repository -y ppa:openjdk-r/ppa; sudo apt-get update; sudo apt-get install -y openjdk-8-jdk
Tzunghsing David Wong
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.