出現JVM terminated. Exit code=1
錯誤通常是因為 Eclipse 所需的 Java 版本與系統中配置的 Java 版本不匹配。從錯誤信息中可以看到關鍵線索:-Dosgi.requiredJavaVersion=21
,表示此 Eclipse 版本需要 Java 21 或更高版本,但系統當前使用的是 Java 11(路徑為/usr/lib/jvm/java-11-openjdk-amd64/bin/java
)。
解決方案:
以下是詳細解決步驟:
1. 安裝 Java 21
- 打開終端,運行以下命令安裝 OpenJDK 21:
sudo apt update sudo apt install openjdk-21-jdk
2. 配置 Eclipse 使用 Java 21
- 修改
eclipse.ini
文件:
在 Eclipse 安裝目錄(如/opt/eclipse/
)中找到eclipse.ini
文件,在-vmargs
之前添加以下兩行,指定 Java 21 的路徑:
修改后的示例(關鍵部分):-vm /usr/lib/jvm/java-21-openjdk-amd64/bin/java
... -startup plugins/org.eclipse.equinox.launcher_1.7.0.v20250519-0528.jar --launcher.appendVmargs -vm # 添加這一行 /usr/lib/jvm/java-21-openjdk-amd64/bin/java # 添加這一行 -vmargs ...
3. 驗證 Java 版本
- 在終端檢查 Java 21 是否安裝成功:
輸出應類似:java -version
openjdk version "21.0.3" 2024-04-16 OpenJDK Runtime Environment (build 21.0.3+9-Ubuntu-1ubuntu1) OpenJDK 64-Bit Server VM (build 21.0.3+9-Ubuntu-1ubuntu1, mixed mode)
4. 可選:設置系統默認 Java 版本
如果仍存在問題,將 Java 21 設為系統默認:
sudo update-alternatives --config java
選擇與 Java 21 對應的編號(如 /usr/lib/jvm/java-21-openjdk-amd64/bin/java
)。
5. 清理臨時文件
刪除 Eclipse 舊配置和緩存(謹慎操作,會重置工作區設置):
rm -r ~/.eclipse # 刪除配置緩存
rm -r /tmp/eclipse* # 刪除臨時文件
6. 重新啟動 Eclipse
- 雙擊圖標或通過終端啟動:
/opt/eclipse/eclipse
常見問題排查:
- 權限問題:確保 Eclipse 安裝目錄有讀寫權限(
sudo chmod -R a+rw /opt/eclipse
)。 - 版本沖突:如果安裝了多個 Java 版本,在
eclipse.ini
中顯式指定 Java 21 路徑是關鍵。 - 日志分析:查看 Eclipse 錯誤日志(位于工作區目錄
~/eclipse-workspace/.metadata/.log
)獲取具體錯誤。
原因總結:
此錯誤是由于 Eclipse 2023-12 (4.30) 及更高版本需要 Java 17+,而您使用的 Eclipse 明確要求 Java 21。升級 Java 并正確配置后即可解決。