出现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 并正确配置后即可解决。