雙擊 eclipse.exe 彈出錯誤對話框:
Failed to load the JNI shared library "C:\Program Files\Java\jre1.8.0_xxx\bin\client\jvm.dll"
Eclipse 無法啟動,無法進入工作區選擇界面。
Eclipse 位數(32/64 位)必須與 JDK/JRE 位數完全一致。 常見場景:
PATH 指向了錯誤位數的 java.exe。eclipse.ini 未指定正確 -vm 路徑。Win+Pause → 系統類型(64 位作業系統)。eclipse.exe 右鍵屬性 → 兼容性 → 若「以兼容模式運行」勾選 32 位,則為 32 位版本。或查看 plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_*(64 位)vs win32.win32.x86_*(32 位)。java -version 輸出含 64-Bit Server VM 為 64 位,否則 32 位。在 eclipse.ini 首行添加 -vm 參數,指向 64 位 JDK 的 jvm.dll 所在目錄:
-vm
C:/Program Files/Java/jdk-17/bin
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=11
-Xms256m
-Xmx2G
--add-modules=ALL-SYSTEM
...
關鍵點:
-vm 必須在 -vmargs 之前,單獨佔一行,下一行寫路徑(目錄而非 dll 文件)。/,指向 JDK bin 目錄(含 jvm.dll 的父目錄)。Win+S 搜「編輯系統環境變量」→ 環境變量。Path 中,將 C:\Program Files\Java\jdk-17\bin(64 位)移至最前,移除/置後 32 位路徑(Program Files (x86))。Path 同理。java -version 顯示正確版本。若確確實實無法安裝匹配 JDK,可從正確位數 JDK 的 jre/bin/client 或 server 目錄複製 jvm.dll 到 Eclipse 報錯路徑,但會導致版本不一致、功能缺失,極不推薦。
eclipse.exe 正常彈出工作區選擇框。Help → About Eclipse IDE → Installation Details → Configuration,搜索 eclipse.vm 應指向正確 jvm.dll 路徑。CLASSPATH 環境變量(污染類加載)。eclipse.ini 中寫具體 jvm.dll 文件路徑(需目錄)。-vm 參數),項目級隔離,不影響系統其他 Java 應用。jvm.dll 位於 bin/server/(64 位)或 bin/client/(32 位),-vm 指向 bin 目錄即可自動查找。Eclipse 與 JDK 位數必須匹配 是鐵律。最佳實踐:64 位系統 + 64 位 JDK + 64 位 Eclipse + eclipse.ini 指定 -vm。一勞永逸,避免環境變量污染與版本衝突。