> 技术文档 > JVM terminated. Exit code=1

JVM terminated. Exit code=1

出现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 updatesudo 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

    修改后的示例(关键部分):

    ...-startupplugins/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-16OpenJDK 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 并正确配置后即可解决。