You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04下Eclipse Oxygen 3启动报NoClassDefFoundError如何解决

问题根因
  • Eclipse Oxygen 3 仅官方适配Java 8运行环境,未对Java 9及以上版本做兼容支持。
  • Java 9及更高版本(含你安装的OpenJDK 11)拆分了JDK核心模块,javax.annotation 包被移出默认标准库,而Eclipse Oxygen 3的核心渲染逻辑强依赖该包下的PostConstruct、PreDestroy注解,运行时找不到对应类就会抛出NoClassDefFoundError。
  • Ubuntu 20.04默认将OpenJDK 11设为系统全局默认Java环境,你启动Eclipse时默认调用的是OpenJDK 11而非已安装的Java 1.8,是触发报错的直接原因。
修复方案

方案1:仅指定Eclipse用Java 8启动(不影响全局Java配置)

打开Eclipse解压目录下的eclipse.ini配置文件,在文件最开头添加两行配置,指定Java 8的可执行文件路径:

-vm
/usr/lib/jvm/java-8-openjdk-amd64/bin/java

注:如果你的Java 1.8是自定义安装的,把第二行路径替换为实际的Java 8执行文件路径即可,修改保存后重新启动Eclipse就能正常运行。

方案2:修改系统全局默认Java版本

执行以下命令切换全局默认JRE:

sudo update-alternatives --config java

在弹出的选项列表中选中Java 1.8对应的序号,回车确认即可,之后直接点击Eclipse图标就能正常启动。

内容的提问来源于stack exchange,提问作者Gaurav Kukade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:27:02