เมื่อพยายามเปิดไฟล์ Java .jar ผ่านพรอมต์คำสั่ง เช่น การใช้คำสั่ง “Java -Jar xxxx.jar” คุณอาจพบข้อความแสดงข้อผิดพลาดต่อไปนี้:
Error: opening registry key ‘Software\JavaSoft\JRE’ Error: could not find java.dll Error: Could not find Java SE Runtime Environment.
ซึ่งอาจเกิดจากปัจจัยหลายประการ ซึ่งรวมถึงแต่ไม่จำกัดเพียง:
- รีจิสทรีเสียหาย
- ไม่มีเส้นทาง Java ในตัวแปรสภาพแวดล้อมของคุณ
- กำลังย้ายโฟลเดอร์การติดตั้ง Java
ตัวอย่างเช่น เราพบปัญหานี้เมื่ออัปเดต Java SE เป็นเวอร์ชันล่าสุด ซึ่งก่อนหน้านี้เราอาจมีการติดตั้ง Java แบบ 32 บิต และเมื่อเรียกใช้โปรแกรมติดตั้ง Java 64 บิต เส้นทาง Java ของเราเปลี่ยนไป
โชคดีที่วิธีนี้แก้ไขได้ง่ายพอสมควร เนื่องจากต้องแก้ไขปัญหาข้างต้นด้วยวิธีแก้ไขที่เหมาะสม ทำตามขั้นตอนด้านล่างเพื่อให้คำสั่ง Java ของคุณทำงานผ่านพรอมต์คำสั่งอีกครั้ง และแสดงความคิดเห็นในส่วนความคิดเห็นหากคุณพบปัญหาเพิ่มเติม (หรือทราบวิธีแก้ปัญหาที่ดีกว่า)
- ลบ Java เวอร์ชันก่อนหน้าทั้งหมด (โดยใช้กระบวนการถอนการติดตั้ง "โปรแกรมและคุณลักษณะ") หากโฟลเดอร์ java ยังคงอยู่ใน “C:/Program Files/…” โปรดลบทิ้ง
- ล้างรีจิสทรีของคุณ (ลบคีย์จาวาของคุณ):
- ไปที่เริ่มแล้วเรียกใช้
- พิมพ์ 'regedit' ในช่องแก้ไข
- ไปที่ HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Uninstall
- ภายใต้โฟลเดอร์ถอนการติดตั้งนี้ คุณจะพบรายการรีจิสตรีจำนวนมากภายในวงเล็บปีกกา
- คลิกที่แท็บแก้ไขแล้วค้นหา
- หมายเหตุ:ไฮไลต์โฟลเดอร์ถอนการติดตั้งก่อนทำการค้นหารีจิสทรีเฉพาะ
- ป้อนสตริงเวอร์ชันเป็นค่าเพื่อค้นหารายการรีจิสตรีที่เกี่ยวข้องที่จะลบ
- เมื่อคุณพบรีจิสตรีคีย์แล้ว ให้ไฮไลต์คีย์นั้นแล้วคลิกขวาและเลือก Delete
- ยืนยันการลบแล้วคลิกใช่
ขั้นตอนในการค้นหารีจิสตรีคีย์สำหรับ Java 7 เวอร์ชันใดก็ได้
ทำตามรูปแบบ 7.0.xxx
โดยที่ xxx สามารถเป็น 100, 120, 130, 140 เป็นต้น
ตัวอย่างเช่น:
- พิมพ์ 7.0.100 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับการอัปเดต Java7 10
- พิมพ์ 7.0.120 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับการอัปเดต Java7 12
- พิมพ์ 7.0.180 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับการอัปเดต Java7 18
ขั้นตอนในการค้นหารีจิสตรีคีย์สำหรับ Java 6 เวอร์ชันใดก็ได้
ทำตามรูปแบบ 6.0.xxx
โดยที่ xxx สามารถเป็น 100, 120, 130, 140 เป็นต้น
ตัวอย่างเช่น:
- พิมพ์ 6.0.100 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับการอัปเดต Java6 10
- พิมพ์ 6.0.120 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับการอัปเดต Java6 12
- พิมพ์ 6.0.180 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับการอัปเดต Java6 18
ขั้นตอนในการค้นหารีจิสตรีคีย์สำหรับ Java 1.5 เวอร์ชันใดก็ได้
ทำตามรูปแบบ 1.5.0.xxx
โดยที่ xxx สามารถเป็น 100, 120, 130, 140 และอื่นๆ
ตัวอย่างเช่น:
- พิมพ์ 1.5.0.100 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับ jre1.5.0_01
- พิมพ์ 1.5.0.120 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับ jre1.5.0_12
- พิมพ์ 1.5.0.180 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับ jre1.5.0_18
- ขั้นตอนในการค้นหารีจิสตรีคีย์สำหรับ Java 1.4 เวอร์ชันใดก็ได้
ทำตามรูปแบบ 1.4.2_xxx
โดยที่ xxx สามารถเป็น 01, 12, 13, 14 และอื่นๆ
ตัวอย่างเช่น:
- พิมพ์ 1.4.2_01 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับ jre1.4.0_01
- พิมพ์ 1.4.2_12 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับ jre1.4.0_12
- พิมพ์ 1.4.2_18 ในช่องค้นหา ค้นหาคีย์รีจิสทรีสำหรับ jre1.4.0_18
ติดตั้ง Java ใหม่และตั้งค่าตัวแปรระบบ JAVA_HOME เป็น JRE (หรือ JDK) ของคุณ เส้นทาง
เช่น:
JAVA_HOME - C:\Program Files\Java\jdk1.7.0_71 Path - C:\Program Files\Java\jdk1.7.0_71\bin
คุณสามารถตรวจสอบว่านี่เป็นวิธีแก้ปัญหาที่ประสบความสำเร็จหรือไม่โดยใช้คำสั่งต่อไปนี้
echo %JAVA_HOME% java -version
เปิดหน้าต่างคำสั่งไปยังเส้นทาง Java ด้วยตนเอง นอกจากนี้ คุณยังสามารถเปิดพรอมต์คำสั่งได้โดยตรงจากภายในโฟลเดอร์ Java - นำทางไปยังโฟลเดอร์ C:\Program Files\Java\bin ของคุณ (หรือทุกที่ที่ติดตั้ง Java ของคุณ ) ให้กด Shift + คลิกขวาภายในหน้าต่าง แล้วคลิก “เปิดหน้าต่างคำสั่งที่นี่”