หากต้องการรันโค้ด Java ของคุณเอง ไม่ว่าจะสำหรับพัฒนาแอปพลิเคชันหรือซอฟต์แวร์บน Mac Eclipse IDE (Integrated Development Environment) เป็นตัวเลือกชั้นนำ เขียนด้วย Java และใช้พัฒนาแอป Java เป็นหลัก สามารถใช้ Eclipse IDE เขียน คอมไพล์ และรันโค้ด Java ได้ Eclipse มีเครื่องมือจำเป็นสำหรับ Java developer ครบครัน: Java IDE, Git client, XML Editor, Maven, และ Gradle integration
Eclipse ทำงานได้ดีกับ Mac ทั่วไป นักพัฒนาที่พัฒนาแอปสำหรับ macOS พบว่า platform นี้ช่วยได้มาก แต่ Eclipse เป็นซอฟต์แวร์ที่ได้รับผลกระทบจากการอัปเกรดเป็น Big Sur ไม่ทราบสาเหตุ Eclipse ไม่ทำงานหลังอัปเดต Big Sur และผู้ใช้เจอ errors เมื่อใช้ platform ในบางกรณี Eclipse เปิดไม่ขึ้นเลย
ตัวอย่างข้อความ error ที่ผู้ใช้เจอ:
The JVM shared library "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/../lib/server/libjvm.dylib"
does not contain the JNI_CreateJavaVM symbol.
หรือป๊อปอัพ:
Alert! Failed to create the java virtual machine
เคล็ดลับ: สแกน Mac เพื่อตรวจสอบปัญหาประสิทธิภาพ ไฟล์ขยะ แอปมี害 และภัยคุกคามด้านความปลอดภัย
ที่อาจทำให้ระบบมีปัญหาหรือทำงานช้าลง
ปัญหานี้ส่งผลกระทบต่อ timeline การพัฒนาแอปที่นักพัฒนากำลังทำอยู่ และเป็นเพียงหนึ่งในหลายปัญหาที่รบกวนผู้ใช้ Mac ที่อัปเกรดเป็น macOS Big Sur
ทำไม Eclipse ไม่เปิดได้ใน Big Sur
เหมือนแอปอื่นๆ ที่พังหลังอัปเดต Big Sur Eclipse ไม่ทำงานได้ดีกับ macOS ใหม่เพราะ ปัญหาความเข้ากันได้ (compatibility issues) Big Sur มาพร้อมการเปลี่ยนแปลงมากมาย ไม่ใช่แค่ UI แต่ภายใต้ฝาครอบ (under the hood) ด้วย และการเปลี่ยนแปลงหนึ่งในนั้นอาจก่อให้เกิด error ที่คุณเจอ
ปัญหานี้พบได้บ่อยเมื่ออัปเดต OS บางอย่างที่ทำงานดีอยู่ พยันทันหันมีปัญหาในระบบใหม่ บางครั้งผิดที่ developer ที่ลืมหรือไม่ได้อัปเดตแอปให้เข้ากันได้กับ OS ใหม่
ไฟล์เสียหาย (Corrupted files) อาจเป็นสาเหตุอีกอย่าง หากไฟล์ที่เกี่ยวข้องกับซอฟต์แวร์เสียหาย ประสิทธิภาพจะได้รับผลกระทบมาก หากมี antivirus ลองสแกนดูว่ามัลแวร์เป็นสาเหตุหรือไม่
ไม่ว่าสาเหตุจะเป็นอะไร การแก้ไข error นี้เร็วที่สุดไม่ควรซับซ้อน เรารวบรวมวิธีแก้ไขด้านล่าง
วิธีแก้ไขเมื่อ Eclipse ไม่เปิดได้ใน Big Sur
วิธีที่ 1: รีบูต Mac
วิธีง่ายที่สุด: รีสตาร์ท Mac คลิก Apple menu > Restart ให้ Mac เริ่มต้นใหม่ การรีบูทมักแก้ glitch และปัญหาชั่วคราว หลัง restart ลองเปิด Eclipse ใหม่ดู
วิธีที่ 2: อัปเดต Eclipse
ซอฟต์แวร์ล้าสมัยก่อให้เกิดปัญหาหลายอย่าง ตรวจสอบก่อนว่ามีอัปเดตที่รอดำเนินการหรือไม่ มี 2 วิธี:
- ไป Mac App Store เช็คแท็บ Updates
- เช็คเว็บไซต์ผู้ผลิต ว่ามี patch หรือ update ใหม่ปล่อยออกมาหรือไม่
เพิ่มประสิทธิภาพ Mac ด้วย Outbyte macAries ก่อน เพื่อป้องกันไฟล์เสียหายบล็อกการติดตั้งอัปเดต
วิธีที่ 3: แก้ไขไฟล์ Preferences ของ Eclipse (Info.plist)
บางผู้ใช้แก้สำเร็จโดยเพิ่มสตริง script ในไฟล์ plist:
- เปิด Finder
- คลิก Go > Go to folder
- คัดลอกวางที่อยู่: /Applications/Eclipse.app/Contents/Info.plist
- ในไฟล์ เพิ่ม script นี้:
<string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/bin/java</string> - สำคัญ: แทนที่ค่า <string> ด้วย JAVA_HOME ของคุณเอง
ปิดแอปและรีสตาร์ท Mac ก่อนเปิด Eclipse ใหม่
วิธีที่ 4: แก้ไข Info.plist และตั้งค่า -vm value
อีกวิธีหนึ่งที่อาจลองได้:
- ติดตั้ง Eclipse เวอร์ชันล่าสุด หรืออัปเดตเวอร์ชันปัจจุบัน
- Right-click Eclipse.app > Show Package Contents
- เปิดไฟล์ Info.plist ด้วย text editor
- เพิ่ม
-vm/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/bin/javaใต้ key Eclipse - แก้ไข
/Java/JavaVirtualMachinesตามเวอร์ชันที่คุณมี - ปิดไฟล์ และเปิด Eclipse ใหม่ดูว่าได้หรือไม่
วิธีที่ 5: ติดตั้ง openJDK VM ใหม่ (Re-install)
ลองลบ openJDK VM และติดตั้งใหม่:
- เปิด Finder
- คลิก Go > Go to folder
- คัดลอกวาง: /Library/Java/JavaVirtualMachines
- หาโฟลเดอร์ openJDK ลากไป Trash
- ติดตั้ง openJDK ใหม่
- เปิดโฟลเดอร์ Applications right-click Spring suite > Show Package Contents
- แก้ไขไฟล์ Contents/info.plist เพิ่มสตริงจากวิธีที่ 3
สรุป
ขั้นตอนข้างต้นควรช่วยแก้ไข error นี้ แต่จำไว้ว่าส่วนใหญ่เป็นคำแนะนำจากผู้ใช้ Eclipse คนอื่นๆ บางวิธีอาจได้ผลบางวิธีไม่ได้ ทำทีละขั้นจนกว่าจะพบวิธีที่ใช้ได้กับคุณ