หากคุณพบว่าเปิดไฟล์ .jar บน Windows 10 ไม่ได้ น่าจะเกิดจากปัญหาต่อไปนี้:
*Java Run-Time Environment ไม่ได้ตั้งค่าให้รันไฟล์ .jar อย่างถูกต้อง
*Windows Registry ไม่ได้เรียก JRE (Java Runtime Environment) อย่างถูกต้อง
โชคดีที่มีโซลูชันง่ายๆ หลายอย่างสำหรับการแก้ไขนี้ สิ่งที่เกิดขึ้นกับส่วนใหญ่คือ เมื่อพยายามเปิดไฟล์ .jar Windows จะถามว่าต้องการใช้โปรแกรมไหนรัน โปรแกรมส่วนใหญ่จะเลือก java.exe แต่มีปัญหาคือมันลบ -jar ออกจาก execution path ของโปรแกรม โดยพื้นฐานแล้ว คุณไม่สามารถตั้งคำสั่งที่ซับซ้อนที่จำเป็นสำหรับการเปิดไฟล์ .jar ได้โดยใช้ "Open With..." ใน Windows 10
สิ่งที่ปกติจะเกิดคือ คุณเชื่อมโยง .jar ไปเปิดกับ java.exe คุณดับเบิลคลิกที่ executable .jar และหน้าต่าง command prompt จะเปิดแค่ช่วงสั้นๆ แล้วปิด และโปรแกรมไม่เปิด
สิ่งที่เราต้องทำคือ re-associate ไฟล์ .jar กับ Java binary
- ตรวจสอบว่าคุณอัปเดต Java Runtime Environment ล่าสุดแล้ว
- ไปที่โฟลเดอร์ติดตั้ง Java เข้าไปในโฟลเดอร์ /bin/ คลิกขวาที่ Java.exe และตั้งค่าเป็น "Run as Administrator"
- กด Windows + X และเลือก "Command Prompt (Admin)" หรือ PowerShell (Admin) และพิมพ์ cmd
- พิมพ์คำสั่งต่อไปนี้ในพรอมป์ท (แทนที่ C:\Program Files\etc ด้วยโฟลเดอร์ติดตั้ง Java จริงของคุณ เช่น C:\Program Files (x86)\Java\jre1.8.0_131\bin\java.exe):
ftype jarfileterm=cmd /s /k "C:\Program Files\Java\jre7\bin\java.exe" -jar "%1" %*
assoc .jar=jarfileterm
หรือหากคุณต้องการให้ command prompt อยู่เปิดหลังเปิด .jar (สำหรับการ debug)
ftype jarfileterm=cmd /s /k "C:\Program Files\Java\jre7\bin\java.exe" -jar "%1" %*
assoc .jar=jarfileterm
ตอนนี้ลองเปิดไฟล์ .jar ขึ้นอยู่กับขั้นตอนที่คุณทำ Java executable ควรจะเปิด หรือเปิดพร้อม command prompt ที่ค้างอยู่ (ซึ่งจะเต็มไปด้วย Java calls จากแอป มีประโยชน์สำหรับ debug)
อย่างไรก็ตาม หากขั้นตอนไม่ได้ผล เราจะต้องปรับ Registry
- คลิกขวาที่ปุ่ม Start ค้นหา "regedit" และเปิดมัน
- ขยายโฟลเดอร์ HKEY_CLASSES_ROOT และเลื่อนลงจนกว่าจะเจอโฟลเดอร์ "jar_auto_file" และ "jarfileterm"
- ขยายไปที่ path ต่อไปนี้:
jar_auto_file > Shell > Open > Command
- คุณจะเห็น key ชื่อ "Default" คลิกขวาที่ "Default" และเลือก "Modify"
- ในกล่อง "Value data" วางคำสั่ง ftype ที่คุณพิมพ์ใน command prompt ตอนก่อน ให้มันดูเหมือนภาพด้านล่าง และกด OK
- ทำอย่างเดียวกันสำหรับโฟลเดอร์ jarfileterm (ขยาย jarfileterm > Shell > Open > Command)
- ตอนนี้ออกจาก regedit และเปิดไฟล์ .jar ของคุณ มันควรเปิดได้อย่างถูกต้องแล้ว!