เมื่อพยายามเปิดไฟล์ Java .jar ผ่าน command prompt เช่นใช้คำสั่ง "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.
สิ่งนี้อาจเกิดจากหลายปัจจัย รวมถึงแต่ไม่限于:
- Registry เสียหาย
- ขาด Java path ใน Environment Variables ของคุณ
- โฟลเดอร์การติดตั้ง Java ถูกย้าย
ตัวอย่างเช่น เราเจอปัญหานี้เมื่ออัปเดต Java SE เป็นเวอร์ชันล่าสุด เราอาจเคยมีการติดตั้ง Java 32-bit ก่อนหน้านี้ และเมื่อรันติดตั้ง Java 64-bit Java path ของเราเปลี่ยนไป
โชคดีที่นี่แก้ไขได้ค่อนข้างง่าย เพราะเพียงต้องแก้ไขหนึ่งในปัญหาข้างต้นด้วยวิธีแก้ไขที่เหมาะสม ปฏิบัติตามขั้นตอนของเราด้านล่างเพื่อให้คำสั่ง Java ของคุณผ่าน command prompt ทำงานอีกครั้ง และทิ้งความคิดเห็นในส่วนความคิดเห็นหากคุณเจอปัญหาเพิ่มเติม (หรือรู้วิธีแก้ไขที่ดีกว่า)
- ลบเวอร์ชัน Java ก่อนหน้าทั้งหมด (ใช้กระบวนการถอนการติดตั้ง "Programs and Features") หากโฟลเดอร์ java ยังคงอยู่ใน "C:/Program Files/..." โปรดลบมัน
- ทำความสะอาด registry (ลบ java key ของคุณ):
- ไปที่ Start แล้ว Run
- พิมพ์ 'regedit' ในฟิลด์แก้ไข
- ไปที่ HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Uninstall
- ภายใต้โฟลเดอร์ Uninstall นี้ คุณจะพบ registry entries หลายตัวภายใน curly brackets.

- คลิกที่แท็บ Edit แล้ว Find
- หมายเหตุ: เน้นโฟลเดอร์ Uninstall ก่อนค้นหา registry เฉพาะ
- ใส่ version string เป็นค่าเพื่อค้นหา registry entry ที่ตรงกันเพื่อลบ
- เมื่อคุณพบ registry key ให้เน้น key นั้น และคลิกขวาเลือก Delete
- ยืนยันการลบและคลิก Yes
ขั้นตอนสำหรับการค้นหา registry keys สำหรับ Java 7 ใดๆ
ปฏิบัติตามรูปแบบ 7.0.xxx
โดยที่ xxx สามารถเป็น 100, 120, 130, 140 และต่อไป
ตัวอย่าง:
- พิมพ์ 7.0.100 ในฟิลด์ค้นหา พบ registry key สำหรับ Java7 update 10
- พิมพ์ 7.0.120 ในฟิลด์ค้นหา พบ registry key สำหรับ Java7 update 12
- พิมพ์ 7.0.180 ในฟิลด์ค้นหา พบ registry key สำหรับ Java7 update 18
ขั้นตอนสำหรับการค้นหา registry keys สำหรับ Java 6 ใดๆ
ปฏิบัติตามรูปแบบ 6.0.xxx
โดยที่ xxx สามารถเป็น 100, 120, 130, 140 และต่อไป
ตัวอย่าง:
- พิมพ์ 6.0.100 ในฟิลด์ค้นหา พบ registry key สำหรับ Java6 update 10
- พิมพ์ 6.0.120 ในฟิลด์ค้นหา พบ registry key สำหรับ Java6 update 12
- พิมพ์ 6.0.180 ในฟิลด์ค้นหา พบ registry key สำหรับ Java6 update 18
ขั้นตอนสำหรับการค้นหา registry keys สำหรับ Java 1.5 ใดๆ
ปฏิบัติตามรูปแบบ 1.5.0.xxx
โดยที่ xxx สามารถเป็น 100, 120, 130, 140 และต่อไป
ตัวอย่าง:
- พิมพ์ 1.5.0.100 ในฟิลด์ค้นหา พบ registry key สำหรับ jre1.5.0_01
- พิมพ์ 1.5.0.120 ในฟิลด์ค้นหา พบ registry key สำหรับ jre1.5.0_12
- พิมพ์ 1.5.0.180 ในฟิลด์ค้นหา พบ registry key สำหรับ jre1.5.0_18
- ขั้นตอนสำหรับการค้นหา registry keys สำหรับ Java 1.4
ปฏิบัติตามรูปแบบ 1.4.2_xxx
โดยที่ xxx สามารถเป็น 01, 12, 13, 14 และต่อไป
ตัวอย่าง:
- พิมพ์ 1.4.2_01 ในฟิลด์ค้นหา พบ registry key สำหรับ jre1.4.0_01
- พิมพ์ 1.4.2_12 ในฟิลด์ค้นหา พบ registry key สำหรับ jre1.4.0_12
- พิมพ์ 1.4.2_18 ในฟิลด์ค้นหา พบ registry key สำหรับ 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

เปิด command window ด้วยตนเองไปที่ Java pathway ในขั้นตอนข้างเคียง คุณยังสามารถเปิด command prompt โดยตรงจากภายในโฟลเดอร์ Java ได้ เรียกดูที่ C:\Program Files\Java\bin folder (หรือที่ใดก็ตามที่ Java ของคุณติดตั้ง) กด Shift + Right click ภายในหน้าต่าง และคลิก "Open a command window here"