經典 Eclipse 啟動失敗錯誤彈窗:
Failed to load the JNI shared library "jvm.dll"
核心原因:Eclipse 位數與 JDK/JRE 位數不匹配(一個 32 位,一個 64 位)。JNI 要求調用者與被調用庫位數一致。
eclipse.arch(x86=32位,x86_64=64位)。java -version,輸出含 64-Bit Server VM 為 64 位,否則 32 位。jdk-8u361-windows-x64.exe)。在 eclipse.ini 首行添加 -vm 參數,指向匹配位數的 jvm.dll 絕對路徑:
-vm
C:/Program Files/Java/jdk1.8.0_361/jre/bin/server/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.8
...
注意:
-vm 必須在 -vmargs 之前,獨佔一行,路徑用正斜杠或雙反斜杠。jre/bin/server/jvm.dll(Server VM 性能更好)或 jre/bin/client/jvm.dll。jvm.dll 嵌入 JVM。-vm,Eclipse 會按順序搜尋:註冊表、PATH、JAVA_HOME、當前目錄,易誤匹配錯誤位數 JVM。eclipse.ini,重新雙擊 eclipse.exe。java.vm.name 顯示正確版本(如 Java HotSpot(TM) 64-Bit Server VM)。| 現象 | 原因 | 解決 |
|---|---|---|
| 啟動無反應、無彈窗 | eclipse.ini 中 -Xms/-Xmx 過大超出物理內存 | 調小堆內存,如 -Xmx1024m |
| Workspace 選擇後閃退 | JDK 版本過低(Eclipse 2020+ 需 JDK 11+) | 升級 JDK 或降級 Eclipse |
| 報錯 "Version 1.8.0_XXX of the JVM is not suitable" | Eclipse 要求更高 JDK 版本 | 升級 JDK 或修改 -Dosgi.requiredJavaVersion |