แก้ไข: ไม่สามารถสร้าง Java Virtual Machine ได้

ผู้ใช้บางรายพบข้อผิดพลาดไม่สามารถสร้าง Java Virtual Machineเมื่อพยายามเปิดแอปพลิเคชันที่ใช้ Java ปัญหานี้มีรายงานว่าเกิดขึ้นกับ Minecraft และแอพพลิเคชั่นอื่น ๆ ที่สร้างขึ้นจาก Java

ไม่สามารถสร้าง Java Virtual Machine  ข้อผิดพลาด: เกิดข้อยกเว้นร้ายแรง  โปรแกรมจะออก

อะไรเป็นสาเหตุของข้อผิดพลาดไม่สามารถสร้าง Java Virtual Machine

เราตรวจสอบปัญหานี้โดยดูจากรายงานผู้ใช้ต่างๆและกลยุทธ์การแก้ไขปัญหาที่ใช้เพื่อแก้ไขข้อความแสดงข้อผิดพลาดเดียวกัน จากข้อสรุปของพวกเขามีสองสถานการณ์ที่จะทำให้เกิดปัญหานี้:

  • Java ถูกเรียกใช้โดยอาร์กิวเมนต์หรือตัวเลือกที่ไม่ถูกต้องซึ่งอาจเกิดขึ้นได้หากคุณใช้งานแอปพลิเคชันที่ผลิตเองที่บ้านหรือคุณกำลังพยายามเปิดแอปพลิเคชันโอเพนซอร์สที่ทราบกันดีว่าทำให้ระบบไม่เสถียร
  • Java หน่วยความจำสูงสุดกองทั่วโลกไม่สูงพอ - หนึ่งในสาเหตุที่พบบ่อยที่สุดของทำไมคุณจะได้พบข้อผิดพลาดนี้โดยเฉพาะอย่างยิ่งถ้าคุณพยายามที่จะเริ่มต้นโปรแกรม Java ที่มีขนาดหน่วยความจำสูงสุดกองขนาดใหญ่กว่าชุดหนึ่งเป็นตัวแปรระบบ
  • Java ที่เรียกใช้งานได้และ / หรือแอปพลิเคชันต้องการสิทธิ์ระดับผู้ดูแล - อาจเกิดขึ้นกับแอปพลิเคชันที่ต้องการการเข้าถึงระดับผู้ดูแลระบบเพื่อให้ทำงานได้อย่างถูกต้อง

หากคุณกำลังมองหาวิธีแก้ไขไม่สามารถสร้างข้อผิดพลาดJava Virtual Machineบทความนี้จะให้ข้อมูลเกี่ยวกับกลยุทธ์การแก้ไขปัญหาที่ได้รับการยืนยันหลายประการ ด้านล่างนี้คุณมีชุดวิธีการที่ผู้ใช้รายอื่นที่อยู่ในสถานการณ์คล้ายกันใช้เพื่อแก้ไขปัญหา

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

วิธีที่ 1: การเพิ่ม _JAVA_OPTIONS ให้กับตัวแปรของระบบ

ผู้ใช้ส่วนใหญ่ได้รับผลกระทบมีการบริหารจัดการที่จะได้รับการแก้ไขปัญหาโดยการสร้างตัวแปรระบบสำหรับ Java เรียก_JAVA_OPTIONSและการตั้งค่าของมันจะXmx512M สิ่งนี้ทำโดยพื้นฐานแล้วคือตั้งค่าขนาดหน่วยความจำฮีพสูงสุดทั่วโลกสำหรับ Java

การดำเนินการนี้จะแก้ไขข้อความแสดงข้อผิดพลาดที่เกิดขึ้นเนื่องจากขนาดหน่วยความจำฮีปสูงสุดของแอ็พพลิเคชัน Java ที่เริ่มต้นมีขนาดใหญ่กว่าที่กำหนดเป็นตัวแปรระบบ ผู้ใช้หลายรายที่พบปัญหาเดียวกันได้รายงานว่าปัญหาได้รับการแก้ไขทั้งหมดหลังจากที่พวกเขาทำตามขั้นตอนด้านล่าง

นี่คือสิ่งที่คุณต้องทำเพื่อเพิ่มรายการ_JAVA_OPTION S ในตัวแปรระบบเพื่อขยายขนาดหน่วยความจำฮีปสูงสุดทั่วโลก:

  1. กดปุ่มWindows + Rเพื่อเปิดกล่องโต้ตอบเรียกใช้ จากนั้นพิมพ์“ sysdm.cpl ” แล้วกดEnterเพื่อเปิดหน้าจอSystem Properties
  2. ภายในหน้าจอSystem Propertiesไปที่แท็บAdvancedแล้วคลิกที่Environment Variables
  3. ในหน้าต่างEnvironment Variableคลิกที่New (ภายใต้System Variables )
  4. ภายในหน้าต่างNew System Variableตั้งชื่อตัวแปรเป็น_JAVA_OPTIONSและค่าตัวแปรเป็น - Xmx512Mแล้วคลิกตกลงเพื่อบันทึกการเปลี่ยนแปลง
  5. ปิดหน้าต่างที่เปิดไว้ก่อนหน้านี้และรีสตาร์ทเครื่องเพื่อบังคับใช้การเปลี่ยนแปลง
  6. ในการเริ่มต้นครั้งถัดไปให้เปิดแอปพลิเคชันที่เคยแสดงข้อผิดพลาดไม่สามารถสร้าง Java Virtual Machineและดูว่าขณะนี้ทำงานอย่างถูกต้องหรือไม่
การสร้างตัวแปรระบบชื่อ _JAVA_OPTIONS และกำหนดค่า Xmx512M

หากคุณยังคงเห็นข้อความแสดงข้อผิดพลาดเดิมเมื่อเริ่มต้นแอปพลิเคชันให้ลองเพิ่มเส้นทางถัง Java ซึ่งอาจคล้ายกับ“% \ USER PATH \ Java \ jdk1.6.0_39 \ bin”ให้กับตัวแปรสภาพแวดล้อมตามที่ระบุใน วิธีการข้างต้นและดูว่าได้ผลหรือไม่

วิธีที่ 2: การเปิด java.exe ด้วยสิทธิ์ของผู้ดูแลระบบ

ผู้ใช้หลายคนที่พยายามแก้ไขปัญหาเดียวกันได้จัดการเพื่อแก้ไขปัญหาหลังจากบังคับให้ Java ปฏิบัติการหลัก (java.exe) เปิดขึ้นพร้อมสิทธิ์ระดับผู้ดูแลระบบ

ผู้ใช้บางคนรายงานว่าพวกเขาสามารถแก้ไขปัญหาได้หลังจากใช้การแก้ไขนี้กับทั้งไฟล์ปฏิบัติการจาวาหลักและโปรแกรมปฏิบัติการที่แสดงข้อความแสดงข้อผิดพลาด

นี่คือคำแนะนำโดยย่อตลอดทั้งเรื่อง:

  1. เปิด File Explorer และไปที่ตำแหน่งของการติดตั้ง java ของคุณ เราจะต้องไปถึงตำแหน่งของ Java executable หลัก ( java.exe ) ตามค่าเริ่มต้นคุณจะพบในProgram Files / Java / * JRE build version * / bin ตำแหน่งที่แน่นอนจะแตกต่างกันไปขึ้นอยู่กับ Java Runtime Environment ที่คุณใช้ไปที่ตำแหน่งของ java.exe

    หมายเหตุ:หากคุณติดตั้ง Java ในตำแหน่งที่กำหนดเองให้นำทางไปยังตำแหน่งที่กำหนดเองแทน

  2. คลิกขวาที่java.exeและเลือกProperties จากนั้นไปที่แท็บความเข้ากันได้และทำเครื่องหมายในช่องที่เกี่ยวข้องกับเรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ (ภายใต้การตั้งค่า) คลิกใช้เพื่อบันทึกการเปลี่ยนแปลงไปที่แท็บความเข้ากันได้และเปิดใช้งานเรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ
  3. คลิกขวาที่แอปพลิเคชันที่เรียกใช้งานได้ (อันที่ทำให้เกิดข้อผิดพลาด) และทำขั้นตอนเดิมซ้ำ: ความเข้ากันได้> เรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ> นำไปใช้
  4. เรียกใช้แอปพลิเคชันและดูว่าข้อความแสดงข้อผิดพลาดได้รับการแก้ไขหรือไม่

วิธีที่ 3: การติดตั้ง Java ใหม่

ในบางกรณีข้อผิดพลาดจะเกิดขึ้นเนื่องจาก Java อาจไม่ได้รับการติดตั้งอย่างถูกต้องหรือการติดตั้งอาจเสียหายเมื่อเวลาผ่านไป ดังนั้นในขั้นตอนนี้เราจะทำการติดตั้ง Java ใหม่หลังจากถอนการติดตั้งอย่างสมบูรณ์ สำหรับการที่:

  1. กดปุ่มWindows + Rเพื่อเปิดพรอมต์ Run และพิมพ์“ Appwiz.cpl”
  2. กด“ Enter” จากนั้นหน้าจอโปรแกรมและคุณลักษณะจะเปิดขึ้น
  3. ที่หน้าจอโปรแกรมและคุณลักษณะเลื่อนดูรายการแอปพลิเคชันที่ติดตั้งไว้จนกว่าคุณจะพบ Java
  4. คลิกขวาที่ไฟล์แล้วเลือก“ ถอนการติดตั้ง”เพื่อลบออกจากระบบอย่างสมบูรณ์
  5. ขั้นแรกให้ลบการติดตั้ง Java หลักและในภายหลังคุณควรลบการติดตั้ง Java อื่น ๆ ทั้งหมดเช่นการอัปเดตและเวอร์ชันอื่น ๆ
  6. หลังจากถอนการติดตั้งการติดตั้งทั้งหมดรีสตาร์ทคอมพิวเตอร์ของคุณ
  7. หลังจากบูตเครื่องแล้วให้ไปที่ลิงค์นี้และดาวน์โหลด JRE เวอร์ชันล่าสุด
  8. ตรวจสอบเพื่อดูว่าปัญหายังคงมีอยู่หรือไม่
  9. หากข้อผิดพลาดยังคงมีอยู่ให้ดาวน์โหลดและติดตั้ง JDK เวอร์ชันล่าสุดจากที่นี่

    หมายเหตุ:หากคุณใช้ JDK อยู่แล้วให้ลองเปลี่ยนเวอร์ชันหรือถอนการติดตั้ง JRE ที่ติดตั้งพร้อมกับมัน

  10. ตรวจสอบว่าปัญหายังคงมีอยู่หรือไม่

วิธีที่ 4: แก้ไขข้อผิดพลาดด้วยรหัส

มีสาเหตุหลายประการที่อยู่เบื้องหลังข้อผิดพลาดนี้และบางสาเหตุรวมถึงหากคุณมีข้อผิดพลาดบางอย่างกับโค้ดของคุณ เราจะเน้นบางส่วนด้านล่าง

  • ลบยัติภังค์ : ผู้ใช้บางรายตั้งข้อสังเกตว่าข้อผิดพลาดได้รับการแก้ไขแล้วโดยการเปลี่ยนยัติภังค์คู่“ -” ให้เป็น“ -” ตัวเดียวในรหัส ตัวอย่างเช่น:

    เปลี่ยนรหัส

    “โซนี่ @ sony-VPCEH25EN: ~ $ Java -version

    Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar

    Unrecognized option: –version

    Error: Could not create the Java Virtual Machine.

    Error: A fatal exception has occurred. Program will exit.”

    To

    “sony@sony-VPCEH25EN:~$ java -version

    Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar

    Unrecognized option: –version

    Error: Could not create the Java Virtual Machine.

    Error: A fatal exception has occurred. Program will exit.”

  • Also, Try removing the following line from your argument

    -Djava.endorsed.dirs=”C:\Program Files\Apache Software Foundation\Tomcat 8.5\endorsed”

  • Open your eclipse.ini file and make sure that you add the “-vm” entry above the vm args otherwise, JVM V6 will be selected in env vars.
  • If on Ubuntu, you should know that Java 8 is the only version that is supported. Therefore, using the third method. Uninstall Java, and install the previous version.

Method 5: Editing Eclipse.ini File

We can also tweak things inside the Eclipes.ini File to get rid of this issue. There might be a couple of issues with its configuration that need to be addressed therefore, we have divided it into separate issues. Follow the one which suits your scenario the best.

Lowering Memory Use

  1. Open the Eclipse.ini file inside the Eclipse folder with notepad.
  2. Find the line similar to “-Xmx256m” (It might be -Xmx1024m or -Xmx 512m).
  3. Now change the default value to a more reasonable figure depending upon the RAM installed on your computer and add the version number to it as well. For Example:
    -Xmx512m -Dosgi.requiredJavaVersion=1.6 OR -Xmx512m -Dosgi.requiredJavaVersion=1.7 OR -Xmx512m -Dosgi.requiredJavaVersion=1.8
  4. Also, try removing the “256m” value from the “-launcher.XXMaxPermSize” line.
  5. Check to see if the issue persists.

Tinkering Around

  1. Try to remove the following lines from your file.
    -vm P:\Programs\jdk1.6\bin
  2. Also, change the following lines.
    set -Dosgi.requiredJavaVersion=1.5 TO set -Dosgi.requiredJavaVersion=1.6
  3. Also, try adding the following line above “-vmargs!” line.
    -vm C:\Program Files (x86)\Java\jre6\bin\javaw.exe
  4. Also, point to JVM.dll using the following line.
    -vm C:\Program Files\Java\jre7\bin\client\jvm.dll
  5. Open the Eclipse file and replace “-vmargs” with the path of javaw.exe. For Example:
    -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
  6. Also, you can place the following line at the end and check if that works.
    -vmargs -Xms40m -Xmx512m -XX:MaxPermSize=256m
  7. Furthermore, try removing the following lines from the eclipse.ini and check if that works.
    -XX:+UseStringDeduplication -XX:+UseG1GC
  8. คุณยังสามารถลองลบไฟล์ eclipse.ini ได้หากปัญหายังคงมีอยู่เนื่องจากมีรายงานว่าได้แก้ไขปัญหาสำหรับบางคนแล้ว แต่อย่าลืมสำรองข้อมูลไว้ก่อนในกรณีที่คุณต้องการ ลองปิดแอปพลิเคชันที่ใช้พลังงานทั้งหมดก่อนเริ่ม Java เพื่อให้แน่ใจว่ามีทรัพยากรที่เหมาะสม

กำลังตรวจสอบการทุจริตของ JDK

  1. กด“ Windows” +“ R” เพื่อเปิดพรอมต์ Run และพิมพ์“ cmd”
  2. พิมพ์คำสั่งต่อไปนี้และตรวจสอบว่ามีข้อผิดพลาดหรือไม่
    c: \> java - เวอร์ชัน
  3. หากมีข้อผิดพลาดให้ติดตั้ง JDK ใหม่ทั้งหมด