ฉันเพิ่งติดตั้ง Java SDK 7-67 ล่าสุดจาก Oracle บน Mac 10.9.4 จากนั้นฉันรันคำสั่งjava -v
ใน Terminal และได้รับข้อความนี้:
ข้อผิดพลาด: ไม่สามารถสร้าง Java Virtual Machine
ข้อผิดพลาด: มีข้อยกเว้นร้ายแรงเกิดขึ้น โปรแกรมจะออก
ฉันเพิ่งติดตั้ง Java SDK 7-67 ล่าสุดจาก Oracle บน Mac 10.9.4 จากนั้นฉันรันคำสั่งjava -v
ใน Terminal และได้รับข้อความนี้:
ข้อผิดพลาด: ไม่สามารถสร้าง Java Virtual Machine
ข้อผิดพลาด: มีข้อยกเว้นร้ายแรงเกิดขึ้น โปรแกรมจะออก
คำตอบ:
โดยปกติข้อผิดพลาดนี้จะเกิดขึ้นเมื่อคุณเรียกใช้ java โดยระบุอาร์กิวเมนต์ / ตัวเลือกที่ไม่ถูกต้อง ในกรณีนี้ควรเป็นversion
ตัวเลือก
java -version
ดังนั้นในการตรวจสอบอีกครั้งคุณสามารถทำได้ตลอดเวลาjava -help
และดูว่ามีตัวเลือกอยู่หรือไม่ ในกรณีนี้ไม่มีตัวเลือกเช่นv
.
Java -version
ใช้งานได้แล้ว เพียงแค่ผมติดตั้งบางสิ่งบางอย่างที่เรียกว่าและการตรวจสอบรุ่นของมันก็ต้องnode.js
-v
ฉันคิดว่ามันอาจเป็นข้อโต้แย้งทั่วไป
--version
แทน-version
. และใช่ข้อความแสดงข้อผิดพลาดขยะสุด ๆ -_-;
node.js
" ~ 5 ปีต่อมามันดูน่ารักมาก
หากคุณพยายามรันjava
ด้วย-version
อาร์กิวเมนต์และแม้ว่าปัญหาจะไม่สามารถแก้ไขได้ด้วยวิธีใดก็ตามคุณอาจติดตั้งจาวาหลายเวอร์ชันเช่น JDK 1.8 และ JDK 1.7 ในเวลาเดียวกัน
ดังนั้นลองถอนการติดตั้งเวอร์ชันอื่น ๆ ทั้งหมดนอกเหนือจากที่คุณต้องการจากนั้นตั้งค่าJAVA_HOME
ตัวแปรพา ธ สำหรับ JDK ที่เหลืออยู่เท่านี้ก็เสร็จเรียบร้อย
ดังนั้นลองถอนการติดตั้งเวอร์ชันอื่น ๆ ทั้งหมดนอกเหนือจากที่คุณต้องการจากนั้นตั้งค่าตัวแปร JAVA_HOMEpath สำหรับ JDK ที่เหลืออยู่เท่านี้ก็เสร็จเรียบร้อย
นั่นใช้ได้ผลสำหรับฉันฉันติดตั้ง JDK (เวอร์ชัน 8 & 11) สองตัวในเครื่อง Mac ของฉันซึ่งทำให้เกิดปัญหาสำหรับการถอนการติดตั้งฉันทำตามสองขั้นตอนนี้:
ตัวเลือกที่ไม่รู้จัก: - ข้อผิดพลาด: ไม่สามารถสร้าง Java Virtual Machine ข้อผิดพลาด: มีข้อยกเว้นร้ายแรงเกิดขึ้น โปรแกรมจะออก
ฉันได้รับข้อผิดพลาดนี้เนื่องจากใช้ไวยากรณ์ที่ไม่ถูกต้องในเทอร์มินัล ฉันใช้ java - version แต่จริงๆแล้วมันคือ java -version ไม่มีช่องว่างระหว่าง - และเวอร์ชัน คุณยังสามารถตรวจสอบข้ามโดยใช้ java -help
ฉันหวังว่านี่จะช่วยได้
อาจมีสาเหตุอีกประการหนึ่งสำหรับพฤติกรรมดังกล่าว - คุณลบไดเร็กทอรีการทำงานปัจจุบัน
ตัวอย่างเช่น:
# in terminal #1
cd /home/user/myJavaApp
# in terminal #2
rm -rf /home/user/myJavaApp
# in terminal #1
java -jar myJar.jar
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
ลอง: java -version แล้วถ้าคุณเห็น java 11
ลองลบด้วยเทอร์มินัล: cd / Library / Java / JavaVirtualMachines rm -rf openjdk-11.0.1.jdk
หากไม่ได้ลองลบด้วยตนเอง: 1) คลิกที่ finder 2) ไปที่โฟลเดอร์ 3) post / Library / Java / JavaVirtualMachines 4) ลบ java 11
จากนั้นลองใช้เวอร์ชัน java และคุณจะเห็น: เวอร์ชัน java "1.8.0_191"