จะติดตั้ง OpenJDK 11 บน Windows ได้อย่างไร


269

ในอดีต Oracle เคยเผยแพร่โปรแกรมติดตั้งที่ปฏิบัติการได้สำหรับ Windows ซึ่งจะ:

  • คลายไฟล์
  • เพิ่มรีจิสตรีคีย์เพื่อระบุเวอร์ชันและพา ธ ที่ติดตั้ง
  • เพิ่ม JRE ไปยัง PATH ของระบบ
  • ลงทะเบียนโปรแกรมถอนการติดตั้งด้วย Windows

ในฐานะของ Java 11 Java เวอร์ชันฟรีของOracle ( Oracle OpenJDK ) ดูเหมือนจะไม่มีตัวติดตั้ง มันเป็นเพียงไฟล์ซิปที่มีไบนารี

เราควรจะติดตั้ง OpenJDK 11 บน Windows ด้วยวิธีใดเนื่องจากการผสานรวมดังกล่าวไม่ได้อยู่ที่นั่นอีกต่อไป? พวกเขาไม่จำเป็นเหรอ?


1
ไม่จำเป็นต้องเปลี่ยนรีจิสตรี และเมื่อไม่จัดการระบบคุณไม่จำเป็นต้องมีโปรแกรมถอนการติดตั้งเช่นกัน
Holger

1
@Gili ใช้ตัวแปรสภาพแวดล้อม JAVA_HOME หรือผ่านเส้นทางโดยตรงในการกำหนดค่าเช่น IntelliJ IDEa ทำหรือไม่
Mikhail Kholodkov

13
มีโปรเจ็กต์ชุมชนojdkbuildซึ่งจัดเตรียมโปรแกรมติดตั้ง Windows สำหรับ OpenJDK JDK 11 ยังไม่พร้อม แต่ฉันหวังว่าเราจะได้มันในไม่ช้า
ZhekaKozlov

1
@Gili wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F#Find_the_JVMทราบว่ารีจิสตรีไม่ปรากฏที่ใดก็ได้ ...
Holger

1
@Robert ดีโดยไม่ต้องมีปลั๊กอินของเบราว์เซอร์แผงควบคุมเครื่องมืออัปเดตอัตโนมัติหรือขอให้ crapware แถบเครื่องมือมีเหลือไม่มากที่จะติดตั้ง
Holger

คำตอบ:


337
  1. แตกไฟล์ zip ลงในโฟลเดอร์เช่นC:\Program Files\Java\และจะสร้างjdk-11โฟลเดอร์ (โดยที่โฟลเดอร์ bin เป็นโฟลเดอร์ย่อยโดยตรง) คุณอาจต้องใช้สิทธิ์ผู้ดูแลระบบเพื่อแตกไฟล์ zip ไปยังตำแหน่งนี้

  2. ตั้งค่าเส้นทาง:

    • เลือกแผงควบคุมแล้วเลือกระบบ
    • คลิกขั้นสูงจากนั้นตัวแปรสภาพแวดล้อม
    • เพิ่มตำแหน่งของโฟลเดอร์ bin ของการติดตั้ง JDK ให้กับตัวแปร PATH ใน System Variables
    • ต่อไปนี้เป็นค่าทั่วไปสำหรับตัวแปร PATH: C:\WINDOWS\system32;C:\WINDOWS;"C:\Program Files\Java\jdk-11\bin"
  3. ตั้ง JAVA_HOME:

    • ภายใต้ตัวแปรของระบบคลิกใหม่
    • ป้อนชื่อตัวแปรเป็น JAVA_HOME
    • ป้อนค่าตัวแปรเป็นพา ธ การติดตั้งของ JDK (ไม่มีbinโฟลเดอร์ย่อย)
    • คลิกตกลง
    • คลิกใช้การเปลี่ยนแปลง
  4. กำหนดค่า JDK ใน IDE ของคุณ (เช่น IntelliJ หรือ Eclipse)

คุณถูกตั้งค่า

หากต้องการดูว่าทำงานได้หรือไม่ให้เปิดพร้อมท์คำสั่งแล้วพิมพ์java -versionและดูว่ามันพิมพ์ JDK ที่ติดตั้งใหม่ของคุณหรือไม่

หากคุณต้องการถอนการติดตั้ง - เพียงเลิกทำตามขั้นตอนด้านบน

หมายเหตุ:นอกจากนี้คุณยังสามารถชี้JAVA_HOMEไปยังโฟลเดอร์ของการติดตั้ง JDK ของคุณและตั้งค่าแล้วตัวแปรPATH %JAVA_HOME%\binดังนั้นเมื่อคุณต้องการเปลี่ยน JDK คุณจะเปลี่ยนเฉพาะJAVA_HOMEตัวแปรและปล่อยไว้PATHตามที่เป็นอยู่


9
อย่าลืมรายการรีจิสตรีที่ Launch4j ใช้เพื่อค้นหา jre / jdk ที่ติดตั้งไว้
Robert

2
@Lior: นี่เป็นเพียงโปรแกรมเดียวที่ฉันรู้ว่าใช้รายการรีจิสตรี อาจมีหลายสิบหรือร้อยโปรแกรมอื่น ๆ ที่ใช้รายการรีจิสทรีเหล่านี้ด้วย
Robert

4
อาจเป็นเช่นนั้น แต่: ฉันทำงานกับ Java ตั้งแต่ ver 1.1 โดยไม่ต้องตั้งค่ารีจิสทรี - ดังนั้นจึงไม่จำเป็น b: การลงทะเบียน windows โดยทั่วไปถือว่าเป็นกลไกในการหลีกเลี่ยง (เช่นblog.codinghorror.com/was-the-windows-registry-a-good-idea ) - ดังนั้นฉันไม่คิดว่ามันควรจะใช้ถ้าไม่เจาะจง จำเป็น เช่น - ความผิดพลาดในการตั้งค่าในมันสามารถนำไปสู่ข้อผิดพลาดที่ยากต่อการกู้คืนจาก
Lior Bar-On

25
> คุณสามารถชี้ JAVA_HOME ไปยังโฟลเดอร์ที่คุณมีการติดตั้ง นี่เป็นสิ่งที่ผิดอย่างสิ้นเชิง โปรแกรมและสคริปต์จำนวนมากถือว่า JAVA_HOME ชี้ไปที่การติดตั้ง java เริ่มต้น (jdk หรือ jre) และพวกเขาค้นหาไบนารีภายใต้ "% JAVA_HOME% \ bin" ดังนั้นคุณไม่สามารถชี้ JAVA_HOME ไปยังโฟลเดอร์ที่มีการติดตั้ง jdk หลายรายการ คุณสามารถเพิ่ม Path เพื่อแทนค่า "% JAVA_HOME% \ bin;" จากนั้น (เมื่อติดตั้ง JDK ใหม่) คุณสามารถอัปเดต JAVA_HOME เท่านั้น
kool79

2
@sarkasronie ดูซอร์สโค้ด launch4j: sourceforge.net/p/launch4j/git/ci/Release_launch4j-3_12/tree/ … (ภายใต้ HKEY_LOCAL_MACHINE)
Robert

142

AdoptOpenJDKเป็นเว็บไซต์ใหม่เป็นเจ้าภาพโดยชุมชนจาวา คุณสามารถค้นหาโปรแกรมติดตั้ง. msi สำหรับ OpenJDK 8 ถึง 14 ได้ซึ่งจะดำเนินการทุกอย่างตามที่ระบุในคำถาม (แกะกล่องรีจิสตรีคีย์การปรับปรุงตัวแปร PATH (และ JAVA_HOME) ถอนการติดตั้ง ... )


5
แม้ว่าคำตอบที่ยอมรับนั้นถูกต้องนี่เป็นวิธีที่สะดวกกว่าในการติดตั้ง JDK / JRE รุ่นใดก็ได้
optevo

21

จากความคิดเห็นโดย @ZhekaKozlov: ojdkbuildมี OpenJDK builds (ปัจจุบัน 8 และ 11) สำหรับ Windows ( zipและmsi)


3
สำหรับฉันบิลด์เหล่านั้นไม่ได้ตั้งค่าตัวแปร PATH อย่างถูกต้อง ที่เช่าฉันไม่สามารถออกjava -versionและได้รับผลลัพธ์ที่ต้องการ
hannes101

1
ฉันหา OpenJDK msi ไม่พบ ฉันจะเขียนสคริปต์และแบ่งปันในคำตอบภายหลังวันนี้ที่แยกและตั้งค่า PATH และ JAVA_HOME สำหรับเครื่อง
vezenkov

1
@vezenkov: อัปเดตคำตอบที่นี่ (เป็นชุมชน Wiki ด้วยเหตุผล) และ / หรือเปิดปัญหากับโครงการโปรด
Martin Schröder

เพื่อเพิ่มคำตอบที่ยอมรับถ้าคุณอัพเกรดจากรุ่นก่อนหน้าฉันต้องรีสตาร์ทเซิร์ฟเวอร์เพื่อดูรุ่น openjdk รับการปรับปรุงในบรรทัดคำสั่ง
desiguy

21

ใช้ผู้จัดการแพ็คเก็ต chocolatey มันเป็นเครื่องมือบรรทัดคำสั่งคล้ายกับ npm เมื่อคุณติดตั้งแล้วให้ใช้

choco install openjdk

ในพร้อมท์คำสั่งเพื่อติดตั้ง OpenJDK

หากต้องการอัปเดตเวอร์ชันที่ติดตั้งเป็นเวอร์ชันล่าสุดให้พิมพ์

choco upgrade openjdk

ค่อนข้างใช้งานง่ายและมีประโยชน์อย่างยิ่งในการอัพเกรดเป็นเวอร์ชั่นล่าสุด ไม่มีการเล่นซอด้วยตนเองพร้อมกับตัวแปรสภาพแวดล้อมของพา ธ


3
โปรดทราบว่านี่จะติดตั้งเวอร์ชันล่าสุด: openjdk-12.0.2_windows-x64
Vadzim

ในกรณีที่คุณติดตั้งจาวาเวอร์ชันอื่นคุณอาจต้องการตรวจสอบตัวแปรพา ธ และลบ / แก้ไขค่าเก่า
Ketu

1
@Vadzim choco ติดตั้ง openjdk11 ณ วันนี้โดยไม่ต้องพูดถึงรุ่นมันติดตั้ง openjdk-13 และเพื่อให้ทราบมันจะใช้ AdoptOpenJDK เช่นเดียวกับคำตอบอื่น ๆ
FIV

1

คุณสามารถใช้Amazon corretto มีอิสระในการใช้หลายแพลตฟอร์มพร้อมการผลิตของ OpenJDK มันมาพร้อมกับการสนับสนุนระยะยาวที่จะรวมการปรับปรุงประสิทธิภาพและการแก้ไขด้านความปลอดภัย ตรวจสอบคำแนะนำการติดตั้งที่นี่

นอกจากนี้คุณยังสามารถตรวจสอบซูลูจากAzul

อีกสิ่งหนึ่งที่ฉันต้องการเน้นที่นี่คือทั้ง Amazon Corretto และ Zulu เป็นมาตรฐาน TCK ท่านสามารถเข้าดู OpenJDK สร้างการเปรียบเทียบที่นี่และที่นี่


-3

ตัวถอนการติดตั้ง Oracle Java ไม่ได้ลบไฟล์ทั้งหมด
ตรวจสอบว่า "C: \ ProgramData \ Oracle" มีอยู่มีไฟล์ java บางส่วนในไดเรกทอรีย่อย (เช่น: java.exe, javaw.exe)
ลบออกเพื่อป้องกันการเรียกใช้ไฟล์จาวาที่ไม่ถูกต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.