Score:0

วิธีเลือก JDK สำหรับ Ubuntu VM ที่กำหนด

ธง pw

เครื่อง Windows 10 ของฉันคือ HP EliteBook 840 G6 ที่ใช้ i5-8365U ฉันเพิ่งติดตั้ง Ubuntu 20.04.3 LTS เป็น VM บน VirtualBox 6.1.28 ไฟล์ ISO ubuntu-20.04.3-desktop-amd64.iso มาจาก https://ubuntu.com/download/desktop.

ฉันต้องเลือก JDK 8 (LTS) จาก AdoptOpenJDK, HotSpot JVM, อัปเดต 265 ซึ่งอยู่ในหน้าสองของ https://adoptopenjdk.net/archive.html?variant=openjdk8&jvmVariant=hotspot. ไฟล์ที่เกี่ยวข้องสามารถพบได้โดยค้นหาอายุนี้สำหรับสตริง "265"

มีตัวเลือก Linux มากมายให้เลือก:

  ลินุกซ์ ppc64le
  ลีนุกซ์ s390x
  ลินุกซ์ x64
  ลินุกซ์ arm32
  ลินุกซ์ aarch64

ฉันเดาว่าฉันเลือก "x64" เพราะชื่อไฟล์ Ubuntu ISO ของฉันมี "amd64"

ฉันไม่แน่ใจว่านี่เป็นคำถามของ Ubuntu หรือคำถาม VM

in flag
หากคุณใช้ ISO 64 บิต (สนับสนุนโดยโปรเซสเซอร์ Intel/AMD) คุณจะต้องใช้ `x64`
pw flag
@matigo: ขอบคุณ ฉันจะดำเนินการ คุณต้องการโพสต์ว่าเป็นคำตอบหรือไม่?
in flag
ไม่จำเป็น. มันเป็นหนึ่งซับ
pw flag
ฉันหมายถึงการผูกมัดอย่างหลวม ๆ เพื่อให้ "ระบบ" ไม่ถือว่าคำถามนี้ไม่มีคำตอบ
Score:1
ธง us

หากคุณไม่แน่ใจเกี่ยวกับสถาปัตยกรรมระบบของคุณ คุณสามารถใช้ ชื่อ - ม หรือ โค้ง คำสั่งจากเทอร์มินัล หากคุณได้รับ x86_64 -> มันคือ x64
คุณสามารถอ้างถึง คำตอบนี้ สำหรับรายละเอียดเพิ่มเติม

ในหมายเหตุด้านข้าง อย่างที่คุณอาจสังเกตเห็น AdoptOpenJDK เปลี่ยนเป็น Eclipse แล้ว และ https://adoptopenjdk.net จะไม่ได้รับการอัปเดตในเดือนกรกฎาคม 2021 เว็บไซต์ใหม่คือ https://adoptium.netและตอนนี้ชื่อการจัดจำหน่ายคือ "Temurin" ที่กล่าวว่าหากคุณต้องการบิลด์ 265 โดยเฉพาะ Adoptium ไม่มีให้ และคุณควรใช้ AdoptOpenJDK

pw flag
ขอบคุณ FloT คุณตอบคำถาม 2 ข้อ ซึ่งมีประโยชน์ทั้งสองข้อ ขั้นแรก วิธีสอบถามระบบสำหรับสถาปัตยกรรม ประการที่สอง ป้ายกำกับที่ส่งคืนจะแมปกับตัวเลือกที่แสดงในคำถามที่โพสต์ของฉันอย่างไร ฉันขอขอบคุณสำหรับข่าวเกี่ยวกับการเปลี่ยนแปลงใน AdoptOpenJDK อย่างไรก็ตาม อันที่จริงแล้วฉันต้องการอัปเดต 265, บิลด์ 01 ฉันพยายามทำให้แน่ใจว่าผลลัพธ์จะเหมือนกับปีที่แล้ว ซึ่งฉันได้ทำบางอย่างบน Windows โดยใช้การอัปเดตและบิลด์นั้น
Score:1

ฉันคิดว่าคุณอาจมีปัญหา X-Y นั่นคือทั้งหมดที่คุณ จริงๆ ต้องการเป็น JVM สำหรับระบบของคุณ

ดร sudo apt ติดตั้ง default-jdk

ตามที่รันแนะนำ ชวา บนอินสแตนซ์ Ubuntu 20.04 LTS WSL:

tra@ฟ้าร้อง:~$ java

ไม่พบคำสั่ง 'java' แต่สามารถติดตั้งได้ด้วย:

sudo apt ติดตั้ง openjdk-11-jre-headless # เวอร์ชัน 11.0.11+9-0ubuntu2~20.04 หรือ
sudo apt ติดตั้ง default-jre # เวอร์ชัน 2:1.11-72
sudo apt ติดตั้ง openjdk-16-jre-headless # เวอร์ชัน 16.0.1+9-1~20.04
sudo apt ติดตั้ง openjdk-8-jre-headless # รุ่น 8u292-b10-0ubuntu1~20.04
sudo apt ติดตั้ง openjdk-13-jre-headless # รุ่น 13.0.7+5-0ubuntu1~20.04
sudo apt ติดตั้ง openjdk-17-jre-headless # รุ่น 17+35-1~20.04

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

tra@Thunder:~$ javac

ไม่พบคำสั่ง 'javac' แต่สามารถติดตั้งได้ด้วย:

sudo apt ติดตั้ง openjdk-11-jdk-headless # เวอร์ชัน 11.0.11+9-0ubuntu2~20.04 หรือ
sudo apt ติดตั้ง default-jdk # เวอร์ชัน 2:1.11-72
sudo apt ติดตั้ง openjdk-16-jdk-headless # รุ่น 16.0.1+9-1~20.04
sudo apt ติดตั้ง openjdk-8-jdk-headless # รุ่น 8u292-b10-0ubuntu1~20.04
sudo apt ติดตั้ง openjdk-13-jdk-headless # รุ่น 13.0.7+5-0ubuntu1~20.04
sudo apt ติดตั้ง openjdk-17-jdk-headless # รุ่น 17+35-1~20.04
sudo apt ติดตั้ง ecj # เวอร์ชัน 3.16.0-1

เว้นแต่ว่าคุณจะมีข้อกำหนดที่เฉพาะเจาะจงมาก ก็มีโอกาสที่ดีที่ ค่าเริ่มต้น jdk จะทำสิ่งที่คุณต้องการ

sudo apt ติดตั้ง default-jdk

(ตอบ ใช่ แล้วดูการดาวน์โหลดผ่านไป)

แล้ว

tra@Thunder:~$ javac --version
จาแวค 11.0.11
tra@Thunder:~$ java --version
openjdk 11.0.11 2021-04-20
สภาพแวดล้อมรันไทม์ OpenJDK (รุ่น 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (รุ่น 11.0.11+9-Ubuntu-0ubuntu2.20.04, โหมดผสม, การแชร์)
pw flag
ขอบคุณ Thorbjorn Ravn Andersen อันที่จริงฉันต้องการอัปเดต #265, Build 01 ฉันต้องการให้แน่ใจว่าผลลัพธ์การใช้งานของฉันมีความคล้ายคลึงกันมากที่สุดเท่าที่จะเป็นไปได้เมื่อเทียบกับงานที่ทำโดยใช้การอัปเดตเดียวกันนั้นและสร้างขึ้นบน Windows เมื่อปีที่แล้ว แต่ `sudo apt install default-jdk` ที่ตรงกว่าของคุณควรเป็นที่ต้องการอย่างมากสำหรับสถานการณ์ปกติ
ag flag
คุณอาจต้องการเปรียบเทียบกับ Java 8 ที่ติดตั้งด้วย `sudo apt install openjdk-8-jdk`
Score:0
ธง pw

ตาม มาติโกความคิดเห็นของ "หากคุณใช้ ISO 64 บิต (สนับสนุนโดยโปรเซสเซอร์ Intel/AMD) คุณจะต้องการ x64"

ฉันไม่ต้องดาวน์โหลดจากไฟล์ adoptopenjdk งาน https://adoptopenjdk.net/archive.html?variant=openjdk8&jvmVariant=hotspot และลองคิดดูการติดตั้ง แต่ฉันพบคำแนะนำ Bash ที่ https://gist.github.com/phillipsj/950235f411dec9e0e90e199c6dde12e9 เพื่อ "wget" tarball และติดตั้ง:

# ติดตั้ง openjdk-8.sh
#--------------------------
wget -q https://github.com/AdoptOpenJDK/openjdk8-releases/releases/download/jdk8u172-b11/OpenJDK8_x64_Linux_jdk8u172-b11.tar.gz
tar -xf OpenJDK8_x64_Linux_jdk8u172-b11.tar.gz
sudo mkdir /usr/lib/jvm && sudo mv jdk8u172-b11 /usr/lib/jvm/jdk8u172-b11
ส่งออก JAVA_HOME=/usr/lib/jvm/jdk8u172-b11
ส่งออก PATH=/usr/lib/jvm/jdk8u172-b11/bin
จาวา - เวอร์ชัน

ฉันแก้ไขมันสำหรับ URL ของ tarball สำหรับเวอร์ชันของฉัน ตามที่พบใน adoptopenjdk ไซต์และแก้ไขโรคบางอย่างที่ฉันพบ:

ซีดี ~/tmp
wget -q https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u265-b01/OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz
tar -xf OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz

# ทำขั้นตอนต่อไปด้วยตนเองในกรณีของสตริงเวอร์ชัน
# ในชื่อไฟล์มีรูปแบบที่แตกต่างกัน
# พวกเขาไม่ได้ ดังนั้นให้แทนที่ jdk8u172-b11 ด้วย jdk8u265-b01
# ไม่สามารถวางบรรทัดลงใน Bash prompt ได้
# "sudo" ต้องการรหัสผ่านจากแป้นพิมพ์ ดังนั้นแยกบรรทัดผสม
sudo mkdir /usr/lib/jvm
sudo mv jdk8u265-b01 /usr/lib/jvm/jdk8u265-b01

# การส่งออกต่อไปนี้อาจต้องไปที่ ~/.profile หรือ
#บางดังกล่าว. ฉันจำเป็นต้องรู้ว่าไฟล์ ~/.* ใดที่จะใส่และ/หรือ
# ทำไม ~/.profile ไม่ทำงานหลังจาก "su - user-name" สำหรับตอนนี้,
# แหล่งที่มาด้วยตนเอง ~/.profile หลังจาก "su"
ส่งออก JAVA_HOME=/usr/lib/jvm/jdk8u265-b01
ส่งออก PATH="$PATH:/usr/lib/jvm/jdk8u265-b01/bin"
จาวา - เวอร์ชัน

   openjdk รุ่น "1.8.0_265"
   สภาพแวดล้อมรันไทม์ OpenJDK (AdoptOpenJDK) (สร้าง 1.8.0_265-b01)
   OpenJDK 64-Bit Server VM (AdoptOpenJDK) (สร้าง 25.265-b01, โหมดผสม)

ซึ่งจาวา javac

   /usr/lib/jvm/jdk8u265-b01/bin/java
   /usr/lib/jvm/jdk8u265-b01/bin/javac

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา