จะติดตั้ง JDK 11 ภายใต้ Ubuntu ได้อย่างไร


96

ดังนั้น Java 11 จะออก มีใครทราบวิธีติดตั้ง (OpenJDK จาก Oracle) จากบรรทัดคำสั่งหรือไม่?

ฉันต้องการเห็นสิ่งที่เหมือนเดิมสำหรับ Oracle Java 10:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer

ป.ล. ในคำถามที่คล้ายกันเสนอคำแนะนำ:

sudo apt-get install openjdk-11-jdk

ไม่ทำงาน


คุณได้รับข้อผิดพลาดอะไรเมื่อคุณพยายามsudo apt-get install openjdk-11-jdk?
Mureinik

5
นี่เป็น "ข้าราชการ" คำแนะนำสำหรับการติดตั้งลินุกซ์ มี RPM ( yum) หรือคุณสามารถติดตั้งด้วยตนเองจากไลบรารีที่เก็บถาวร แต่เห็นได้ชัดว่าไม่มี Debian apt-get(ยัง) ถาม: ทำไมไม่ติดตั้งจาก tar.gz ล่ะ? ดูทางเลือกการอัปเดตด้วย
paulsm4

2
@Mureinik "E: ไม่พบแพ็กเกจ openjdk-11-jdk" บน Ubuntu 16.04
Dmitriy Dumanskiy

1
@Mureinik ในขณะนี้แพ็คเกจนี้ยังคงติดตั้ง Java 10 อยู่มันจะได้รับการอัปเดตในวันถัดไปฉันคิดว่าจะให้ Java 11
Robert

5
@Robert วันถัดไปสัปดาห์หน้าเดือนถัดไป ...
9ilsdx 9rvj 0lo

คำตอบ:


184

ตอนนี้คุณสามารถติดตั้ง openjdk-11 ด้วยวิธีนี้:

sudo apt-get install openjdk-11-jdk

(ก่อนหน้านี้ติดตั้ง openjdk-10 แต่ไม่ใช่อีกต่อไป)


1
Oracle build นี้หรือจากการนำ OpenJDK มาใช้
Dmitriy Dumanskiy

1
อันที่จริงฉันคิดว่ามันเป็น Oracle OpenJDK หนึ่ง ฉันคิดว่า Debian / Ubuntu เพียงแค่ดาวน์โหลด tarball จาก Oracle OpenJDK release เพิ่มแพตช์สองสามตัวที่ด้านบนและสร้างแพ็คเกจของพวกเขา
andresp

9
หากคุณไม่ได้ใช้ Java GUI ในสภาพแวดล้อมใด ๆ openjdk-11-jdk-headlessที่คุณอาจจะชอบการติดตั้ง หรือถ้าสิ่งที่คุณต้องการคือเรียกใช้บางอย่างไม่ใช่คอมไพล์openjdk-11-jre[-headless]ก็อาจเหมาะกับคุณเช่นกัน
Piohen

10
ฉันต้องเรียกใช้sudo add-apt-repository ppa:openjdk-r/ppaก่อนเพื่อเพิ่มที่เก็บ
Arboreal Shark

2
เหมือนกันที่นี่ นอกจากนี้sudo apt-get updateเพื่ออัปเดตที่เก็บ แล้วsudo apt-get install openjdk-11-jdkทำงาน.
Michael

52

ในการติดตั้ง Openjdk 11 ใน Ubuntu คำสั่งต่อไปนี้ทำงานได้ดี

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt install openjdk-11-jdk

คำสั่งแรกของ Pi ให้ฉัน: aptsources.distro.NoDistroTemplateException: ข้อผิดพลาด: ไม่พบเทมเพลตการแจกจ่ายสำหรับ Raspbian / stretch
Nikolay Klimchuk

ทำงานให้ฉันเพื่อopenjdk-11-jdk-headless
WhyAyala

35

สำหรับทุกคนที่ทำงาน JDK บน Ubuntu และต้องการอัพเกรด JDK11 ผมแนะนำให้ติดตั้งผ่านทางsdkman SDKMAN เป็นเครื่องมือสำหรับเปลี่ยน JVM ลบและอัปเกรด

SDKMANเป็นเครื่องมือสำหรับจัดการชุดพัฒนาซอฟต์แวร์หลายเวอร์ชันคู่ขนานบนระบบที่ใช้ Unix ส่วนใหญ่ มี Command Line Interface (CLI) และ API ที่สะดวกสำหรับการติดตั้งสลับลบและแสดงรายชื่อผู้สมัคร

ติดตั้ง SDKMAN

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk version

ติดตั้ง Java (11.0.3-zulu)

$ sdk install java

1
ว้าวมีอะไรบางอย่างที่คล้ายกับ Anaconda สำหรับ Java? ใครคิดบ้าง!
Joshua Detwiler

ข้อผิดพลาด: "ไฟล์ zip ที่ดาวน์โหลดเสียหายคุณเชื่อมต่อกับอินเทอร์เน็ตหรือไม่"
masterxilo

@masterxilo โปรดอธิบายเพิ่มเติมเกี่ยวกับข้อผิดพลาดที่คุณมีให้แน่ใจว่าคุณต้องใช้อินเทอร์เน็ตเพื่อดาวน์โหลดเครื่องมือ SDKMAN ฉันได้ลองติดตั้งเครื่องมือ SDKMAN บน UNIX-Platform แล้วคุณลองใช้บนแพลตฟอร์ม Windows หรือไม่
Kamal

10

sudo apt-get ติดตั้ง openjdk-11-jdk

หลังจากนี้ลอง

java - เวอร์ชัน

เพื่อให้แน่ใจว่าเวอร์ชัน java คือ 1.11.x หากพบว่าเวอร์ชันเก่าหรือต่างกันให้ตรวจสอบคำสั่งด้านล่างเพื่อดู jdks ที่มีอยู่

sudo update-java- ทางเลือก - รายการ

คุณจะเห็นสิ่งต่างๆดังต่อไปนี้

java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64

java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64

คุณสามารถเห็น java 1.11 จากรายการด้านบนใช้คำสั่งด้านล่างเพื่อตั้งค่า java 11 เป็นค่าเริ่มต้น

sudo update-ทางเลือก --config java

สำหรับคำสั่งด้านบนคุณจะได้รับสิ่งที่ต้องการด้านล่างและจะขอตัวเลือกในการตั้งค่า

มี 3 ทางเลือกสำหรับ java ทางเลือก (ให้ / usr / bin / java)

สถานะลำดับความสำคัญของเส้นทางการเลือก


0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1111 โหมดอัตโนมัติ

1 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1111 โหมดแมนนวล

* 2 / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java 1081 โหมดแมนนวล

3 /usr/lib/jvm/jdk1.8.0_211/bin/java 0 โหมดแมนนวล

กดเพื่อเลือกตัวเลือกปัจจุบัน [*] หรือพิมพ์หมายเลขตัวเลือก:

คุณสามารถเลือกหมายเลขตัวเลือกที่ต้องการกรณีของฉันคือ 0

สำหรับ javac

sudo update-ทางเลือก --config javac

จะได้ผลลัพธ์ดังนี้

มี 3 ทางเลือกสำหรับ javac ทางเลือก (ให้ / usr / bin / javac)

สถานะลำดับความสำคัญของเส้นทางการเลือก


0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac 1111 โหมดอัตโนมัติ

1 / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac 1111 โหมดแมนนวล

* 2 / usr / lib / jvm / java-8-openjdk-amd64 / bin / javac 1081 โหมดแมนนวล
3 /usr/lib/jvm/jdk1.8.0_211/bin/javac 0 โหมดแมนนวล

กดเพื่อเลือกตัวเลือกปัจจุบัน [*] หรือพิมพ์หมายเลขตัวเลือก:

ในกรณีของฉันมันเป็น 0 อีกครั้ง

หลังจากขั้นตอนข้างต้นลอง

java - เวอร์ชัน

มันจะแสดงบางอย่างเช่นด้านล่าง

openjdk เวอร์ชัน "11.0.4" 2019-07-16

OpenJDK Runtime Environment (สร้าง 11.0.4 + 11-post-Ubuntu-1ubuntu218.04.3)

OpenJDK 64-Bit Server VM (build 11.0.4 + 11-post-Ubuntu-1ubuntu218.04.3, mixed> mode, sharing)


8

ใน Ubuntu คุณสามารถติดตั้ง Open JDK ได้โดยทำตามคำสั่ง

sudo apt-get update    
sudo apt-get install default-jdk

คุณสามารถตรวจสอบเวอร์ชัน java ได้โดยทำตามคำสั่ง

java -version

หากคุณต้องการติดตั้ง Oracle JDK 8 ให้ทำตามคำสั่งด้านล่าง

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

หากคุณต้องการเปลี่ยนเวอร์ชัน java คุณสามารถลองใช้วิธีการด้านล่างนี้

vi ~/.bashrcและเพิ่มบรรทัดต่อไปนี้export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221(โฟลเดอร์ path / jdk)

หรือ

sudo vi /etc/profile และเพิ่มบรรทัดต่อไปนี้

#JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export JRE_HOME
export PATH

คุณสามารถแสดงความคิดเห็นเกี่ยวกับเวอร์ชันอื่น ๆ สิ่งนี้จำเป็นต้องออกจากระบบและลงชื่อกลับเข้าใช้ หากคุณต้องการลองใช้งานได้ทุกที่คุณสามารถพิมพ์คำสั่งด้านล่างในเทอร์มินัลเดียวกัน มันจะอัปเดตเวอร์ชัน java สำหรับเทอร์มินัลเฉพาะเท่านั้น

source /etc/profile

คุณสามารถตรวจสอบเวอร์ชัน java ด้วยjava -versionคำสั่งได้ตลอดเวลา


2

ฉันมาที่นี่เพื่อหาคำตอบและเนื่องจากไม่มีใครใส่คำสั่งสำหรับ oracle Java 11 แต่มีเพียง openjava 11 เท่านั้นที่ฉันหาวิธีทำบน Ubuntu ไวยากรณ์มีดังต่อไปนี้:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
sudo apt install oracle-java11-installer

7
Oracle JVM (Hotspot) ไม่ฟรีอีกต่อไปสำหรับการใช้งานจริง ดังนั้นฉันต้องการสร้าง OpenJDK มากกว่า
Dmitriy Dumanskiy

1
น่าเศร้าที่ฉันผูกสิ่งนี้เกินไปและมันไม่ได้ผล มันบอกว่า E: ไม่พบแพ็คเกจ oracle-java11-installer
Nditah

1

ฉันสร้างสคริปต์ทุบตีที่พื้นโดยอัตโนมัติติดตั้งด้วยตนเองที่อธิบายไว้ในการเชื่อมโยงคำถามที่คล้ายกัน มันต้องการtar.gzไฟล์รวมทั้งค่าผลรวม SHA256 คุณสามารถหาข้อมูลเพิ่มเติมและดาวน์โหลดสคริปต์จากฉันหน้าโครงการ GitHub จัดทำภายใต้ใบอนุญาต MIT


1

ก่อนอื่นให้ตรวจสอบdefault-jdkแพคเกจเป็นโอกาสดีที่จะให้OpenJDK >= 11ไฟล์.
อ้างอิง: https://packages.ubuntu.com/search?keywords=default-jdk&searchon=names&suite=all§ion=all

Ubuntu 18.04 LTS +

ดังนั้นเริ่มจากUbuntu 18.04 LTSก็น่าจะโอเค

sudo apt update -qq
sudo apt install -yq default-jdk

หมายเหตุ: อย่าลืมตั้งค่า JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/default-java
mvn -version

Ubuntu 16.04 LTS

สำหรับUbuntu 16.04 LTSopenjdk-8-jdkมีให้เฉพาะใน repos อย่างเป็นทางการดังนั้นคุณต้องหามันในppa :

sudo add-apt-repository -y ppa:openjdk-r/ppa
sudo apt update -qq
sudo apt install -yq openjdk-11-jdk

หมายเหตุ: อย่าลืมตั้งค่า JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
mvn -version
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.