โปรแกรมหรือเกมที่พัฒนาด้วย Java จะทำงานได้อย่างน่าเชื่อถือเมื่อติดตั้ง Java อย่างถูกต้อง แต่ gầnนี้ผู้ใช้รายงานว่าพบข้อผิดพลาด "Could not create the Java Virtual Machine" เมื่อพยายามรันโปรแกรม Java เช่น Minecraft หมายความว่า Virtual Machine ที่โปรแกรม Java ใช้ทำงานไม่ได้ติดตั้งอย่างถูกต้อง หากคุณกำลังเผชิญปัญหาเดียวกัน คุณอยู่ที่ที่ถูกต้อง เรามีคู่มือฉบับสมบูรณ์ที่จะช่วยแก้ไขข้อผิดพลาด: could not create the java virtual machine
วิธีแก้ไข Could Not Create the Java Virtual Machine ใน Windows 10
ข้อผิดพลาด "Could not construct the Java virtual machine" มักเกิดขึ้นเมื่อคอมไพล์โค้ดใน Integrated Development Environment (IDE) สาเหตุหลักมีดังนี้:
- อาร์กิวเมนต์หรือตัวเลือกที่ไม่ถูกต้องสำหรับการเปิด Java: หากคุณรันแอปของตัวเองหรือแอปโอเพนซอร์ส ข้อผิดพลาดนี้อาจเกิดขึ้นและทำให้ระบบไม่เสถียร
- หน่วยความจำ Java Heap สูงสุดไม่เพียงพอ: การรันแอปที่มีขนาด Heap สูงสุดมากกว่าที่ตั้งค่าใน System Variable อาจก่อให้เกิดข้อผิดพลาดนี้
- Java executable หรือโปรแกรมทำงานโดยไม่มีสิทธิ์ Administrator: ข้อผิดพลาดนี้อาจเกิดขึ้นเมื่อรันแอปที่ต้องการสิทธิ์แอดมินเพื่อทำงานอย่างเหมาะสม
ตอนนี้เราเข้าใจสาเหตุของข้อผิดพลาดนี้แล้ว มีข้อผิดพลาดคล้ายกันที่ผู้ใช้ Java พบ เช่น Java virtual machine launcher error ที่เกิดจากปัญหาการติดตั้ง Java มาเริ่มต้นกับวิธีแก้ไขข้อผิดพลาด could not create the java virtual machine กันเลย
การตรวจสอบเบื้องต้น
- ตรวจสอบอาร์กิวเมนต์เริ่มต้น: ตรวจสอบพารามิเตอร์เริ่มต้นที่คุณระบุ แม้ใน Java เวอร์ชันที่ถูกต้อง การตั้งค่าเริ่มต้นสามารถเปลี่ยนเวอร์ชันที่ใช้สำหรับการคอมไพล์ได้ หากคุณอัปเดต Java แบบ in-place อาจทำให้พารามิเตอร์เริ่มต้นยังอ้างอิงเวอร์ชันเก่า
- ตรวจสอบไวยากรณ์: ตรวจสอบให้แน่ใจว่าไวยากรณ์ของอาร์กิวเมนต์ถูกต้อง แม้ข้อผิดพลาดเล็กน้อยก็อาจก่อให้เกิดข้อผิดพลาด could not create the Java virtual machine ตรวจสอบเครื่องหมายขีดเกินหรือเวอร์ชันที่บันทึกผิด
- ตรวจสอบการเสียหายของ JDK: Java Development Kit ที่เสียหายอาจก่อให้เกิดข้อผิดพลาด: could not create the java virtual machine คุณสามารถตรวจสอบได้โดยทำตามขั้นตอนเหล่านี้:
- กดปุ่ม Windows key พิมพ์ Command Prompt และคลิก Run as administrator
- พิมพ์ c:\> java -version และกด Enter
- หากการรันคำสั่งแสดงข้อผิดพลาด ให้ ติดตั้ง JDK ใหม่ ตรวจสอบว่าการติดตั้งใหม่แก้ไขปัญหาหรือไม่ หากไม่ ให้ลองวิธีแก้ไขในบทความนี้
วิธีที่ 1: รัน Java ในโหมด Administrator
แอปที่ไม่มีสิทธิ์แอดมินที่จำเป็นอาจไม่เสถียรบน Windows PC และอาจก่อให้เกิดปัญหา รวมถึงข้อผิดพลาด: could not create the java virtual machine สามารถแก้ไขได้โดยบังคับให้ Java executable หลัก (java.exe) ทำงานด้วยสิทธิ์แอดมิน ทำตามขั้นตอนด้านล่าง:
- กด Windows + E เพื่อเปิด File Explorer
- ไปที่ Java.exe ใน File Explorer โดยทั่วไปอยู่ที่:
C:\Program Files\Java\*JRE build version*\bin
หรือ
C:\Program Files(x86)\Common Files\Oracle\Java\javapath
หมายเหตุ: หากคุณติดตั้ง Java ในตำแหน่งอื่น ให้ติดตามเส้นทางนั้นและค้นหา Java.exe - คลิกขวาที่ Java.exe และเลือก Properties เพื่อเปิดหน้าต่าง Properties
- ไปที่แท็บ Compatibility ติ๊กถูกกล่อง Run this software as an administrator
- คลิก Apply และ OK เพื่อบันทึกการเปลี่ยนแปลง
ตอนนี้ทุกครั้งที่คุณเปิด Java จะทำงานด้วยสิทธิ์แอดมิน
วิธีที่ 2: เพิ่มขนาด Java Heap
ข้อผิดพลาดนี้อาจเกิดขึ้นเมื่อ Java หมดหน่วยความจำระบบที่จำเป็นสำหรับการเปิด Virtual Machine client Java ถูกกำหนดค่าเริ่มต้นให้ใช้ขนาด Heap สูงสุด และการรันแอปที่เกินขีดจำกัด Heap จะทำให้เกิดข้อผิดพลาด การสร้าง System Variable ใหม่เพื่อเพิ่มหน่วยความจำที่ใช้ได้อาจแก้ไขปัญหานี้ได้ ดังนี้:
- กด Windows + R พร้อมกันเพื่อเปิดกล่องโต้ตอบ Run
- พิมพ์ sysdm.cpl และกด Enter เพื่อเปิด System Properties
- ไปที่แท็บ Advanced
- คลิกปุ่ม Environment Variables…
- ในหน้าต่าง Environment Variables คลิกปุ่ม New… ภายใต้ System Variables
- ตั้งชื่อ Variable เป็น _JAVA_OPTIONS และค่า Variable เป็น –Xmx512M ในป๊อปอัป New System Variable คลิก OK เพื่อบันทึก
หมายเหตุ: หากข้อผิดพลาดยังคงอยู่ คุณสามารถเพิ่มหน่วยความจำเพิ่มเติมโดยตั้งค่า Variable value เป็น –Xmx1024M แทน –Xmx512M ตามขั้นตอนที่ 6
วิธีที่ 3: แก้ไขโค้ด Java
บางผู้ใช้รายงานว่าสามารถแก้ไขข้อผิดพลาดนี้ได้โดยการเปลี่ยนแปลงเล็กน้อยในโค้ดของพวกเขา ดังนี้:
- แทนที่เครื่องหมายขีดคู่ – ด้วยเครื่องหมายขีดเดี่ยว - ในโค้ดของคุณสามารถแก้ไขปัญหานี้ได้
โค้ดที่มีเครื่องหมายขีดคู่: sony@sony-VPCEH25EN:~$ java –version Picked up JAVA_TOOL_OPTIONS: –javaagent:/usr/share/java/jayatanaag.jar Unrecognized option: –version โค้ดเดียวกันแต่ใช้เครื่องหมายขีดเดี่ยว: sony@sony-VPCEH25EN:~$ java -version Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar Unrecognized option: -version
- พิจารณาลบวลีต่อไปนี้ออกจากอาร์กิวเมนต์ของคุณ:
-Djava.endorsed.dirs=”C:\Program Files\Apache Software Foundation\Tomcat 8.5\endorsed”
- ตรวจสอบให้แน่ใจว่า -vm entry ถูกเพิ่มเหนือ vm args ในไฟล์ eclipse.ini มิฉะนั้น JVM V6 จะถูกเลือกใน env wars
หมายเหตุ: หากคุณใช้ Ubuntu คุณต้องทราบว่ารองรับเฉพาะ Java 8 เท่านั้น ดังนั้นคุณสามารถถอนการติดตั้ง Java ตาม วิธีที่ 3 และติดตั้งเวอร์ชันเก่ากว่าแทน
วิธีที่ 4: แก้ไขไฟล์ Eclipse.ini
หากคุณใช้ Eclipse IDE การเปลี่ยนแปลงบางอย่างในไฟล์ eclipse.ini สามารถแก้ไขรหัสข้อผิดพลาด could not create the java virtual machine ได้
หมายเหตุ: eclipse.ini อยู่ภายในโฟลเดอร์ Eclipse ในไดเรกทอรีที่คุณติดตั้ง Eclipse
ขั้นตอนที่ I: ลดการใช้หน่วยความจำ
- คลิกขวาที่ไฟล์ Eclipse.ini และเลือก open with… > Notepad
- ค้นหาบรรทัดที่ตรงกับ -Xmx256m
หมายเหตุ: อาจเป็น -Xmx1024m หรือ -Xmx 512m ก็ได้ - เปลี่ยนค่าเริ่มต้นเป็นค่าที่เข้ากับ RAM ของคุณมากขึ้น พร้อมเพิ่มหมายเลขเวอร์ชัน
ตัวอย่างเช่น:-Xmx512m -Dosgi.requiredJavaVersion=1.6
หรือ-Xmx512m -Dosgi.requiredJavaVersion=1.7
หรือ-Xmx512m -Dosgi.requiredJavaVersion=1.8
- ลองลบค่า 256m ออกจากบรรทัด -launcher.XXMaxPermSize
ขั้นตอนที่ II: การปรับเปลี่ยนเพิ่มเติม
- ลบบรรทัดต่อไปนี้ออกจากไฟล์ หากเป็นไปได้:
-vm P:\Programs\jdk1.6\bin
- แทนที่บรรทัดต่อไปนี้ด้วยโค้ดที่กำหนดด้านล่าง:
set -Dosgi.requiredJavaVersion=1.5
เป็นset -Dosgi.requiredJavaVersion=1.6.
- เหนือบรรทัด -marks! ลองเพิ่มบรรทัดนี้:
-vm C:\Program Files (x86)\Java\jre6\bin\javaw.exe
- อ้างอิง JVM.dll ด้วยบรรทัดต่อไปนี้:
-vm C:\Program Files\Java\jre7\bin\client\jvm.dll
- แทนที่ -vmargs ด้วยพาธของ javaw.exe ในไฟล์ eclipse.ini:
-startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813 -product com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256M -showsplash com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile **-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”** -Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx768m -Declipse.buildId=v21.1.0-569685
- วางบรรทัดท้ายไฟล์ eclipse.ini และตรวจสอบว่าทำงานหรือไม่:
-vmargs -Xms40m -Xmx512m -XX:MaxPermSize=256m
- ลบบรรทัดต่อไปนี้ออกจาก eclipse.ini และตรวจสอบว่าแก้ไขปัญหาหรือไม่:
-XX:+UseStringDeduplication -XX:+UseG1GC
หมายเหตุ: หากปัญหายังคงอยู่ ลองลบไฟล์ eclipse.ini แต่ให้สำรองก่อนด้วย นอกจากนี้ ให้ปิดแอปทั้งหมดที่ใช้หน่วยความจำสูงก่อนเปิด Java
วิธีที่ 5: ติดตั้ง Java ใหม่
ในบางสถานการณ์ ปัญหานี้เกิดจาก Java ไม่ได้ติดตั้งอย่างถูกต้อง หรือการติดตั้งเสียหายไปตามเวลา ดังนั้นหลังจากลบ Java ออกอย่างสมบูรณ์ เราจะติดตั้งใหม่ในขั้นตอนนี้ ดังนี้:
- กด Windows + R พร้อมกันเพื่อเปิดกล่องโต้ตอบ Run
- พิมพ์ Appwiz.cpl และคลิก OK เพื่อเปิด Programs and Features
- เลื่อนดูแอปพลิเคชันที่ติดตั้งและค้นหา Java
- คลิกขวาที่มันและเลือก Uninstall เพื่อถอนการติดตั้ง Java
- หมายเหตุ: คุณควรถอนการติดตั้ง Java Development kits และอัปเดตอื่นๆ ด้วย
- รอให้การถอนการติดตั้งเสร็จสิ้นและ รีบูทคอมพิวเตอร์
- ไปที่หน้าดาวน์โหลด Java เพื่อดาวน์โหลดเวอร์ชันล่าสุดของ Java Runtime Environment
- หมายเหตุ 1: หากการติดตั้ง Java Runtime Environment ใหม่ไม่แก้ไขปัญหา ให้ดาวน์โหลดเวอร์ชันล่าสุดของ JDK
- หมายเหตุ 2: หากคุณมี JDK อยู่แล้ว ลองใช้เวอร์ชันที่แตกต่างกัน หรือลบ Java Runtime Environment ที่มาพร้อมกับมัน
คำถามที่พบบ่อย (FAQs)
Q1. ข้อความ "could not construct Java Virtual Machine" หมายความว่าอะไร?
Ans: ตัวเลือก -Xmx ถูกใช้โดย Java Virtual Machine เพื่อระบุขนาดหน่วยความจำ Heap สูงสุด ตัวเลือก -Xmx ในไฟล์ eclipse.ini อาจตั้งค่าสูงเกินไปสำหรับสภาพแวดล้อมปัจจุบัน ซึ่งก่อให้เกิดข้อความข้อผิดพลาดนี้
Q2. Java Virtual Machine คืออะไร?
Ans: Java Virtual Machine (JVM) คือโปรแกรมที่ช่วยให้คอมพิวเตอร์รันโปรแกรม Java และภาษาอื่นๆ ที่แปลงเป็น Java Bytecode ได้ JVM ถูกอธิบายโดยมาตรฐานที่ อธิบายข้อกำหนดการนำ JVM ไปใช้งานอย่างเป็นทางการ
Q3. สามารถได้ Java ฟรีได้หรือไม่?
Ans: เพื่อติดตั้ง Java คุณต้องดาวน์โหลดแอปพลิเคชันติดตั้ง Oracle ก่อน เลือก Free Java Download จากเมนูแบบเลื่อนลง หลังจากนั้นคุณจะถูกขอให้อ่านและยอมรับสัญญาอนุญาตผู้ใช้ปลายทาง
แนะนำเพิ่มเติม:
- 26 Best Bulk WhatsApp Marketing Software
- 10 Best Programming Languages to Learn Today
- How to Use Snap Camera on Google Meet
- How to Extract Frames from Video in Windows 10
เราหวังว่าคู่มือนี้จะเป็นประโยชน์และคุณจะสามารถแก้ไขปัญหา could not create the Java virtual machine ได้ โปรดแจ้งให้เราทราบว่าวิธีไหนใช้ได้ดีที่สุดสำหรับคุณ หากมีคำถามหรือข้อเสนอแนะ โปรดทิ้งไว้ในส่วนความคิดเห็น