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

Kubuntu从20升级到22后无法启动Eclipse:eglQueryString未找到错误

Kubuntu 20升级到22后Eclipse启动失败(eglQueryString未找到)的解决方法

问题详情

Kubuntu从20版本升级到22版本后,Eclipse无法启动,报错:

eglQueryString() not found: /usr/bin/java: undefined symbol: eglQueryString

已尝试使用OpenJDK 21.0.8并下载最新2025-09版Eclipse,安装了libegl-mesa包后问题依旧,命令行日志如下:

WARNING: Using incubator modules: jdk.incubator.vector
Nov 17, 2025 10:35:34 AM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
Nov 17, 2025 10:35:34 AM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
10:35:36.579 [Start Level: Equinox Container: c7b75cfd-2f0f-4993-a552-7c03704af9a9] DEBUG org.eclipse.jgit.internal.util.ShutdownHook -- register org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda/0x00007773541d8620@288acf12 with shutdown hook
10:35:36.579 [Start Level: Equinox Container: c7b75cfd-2f0f-4993-a552-7c03704af9a9] DEBUG org.eclipse.jgit.internal.util.ShutdownHook -- register org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda/0x00007773541d8620@288acf12 with shutdown hook
eglQueryString() not found: /usr/bin/java: undefined symbol: eglQueryString

解决步骤

1. 重装并修复Mesa EGL库

系统升级可能导致EGL库损坏或版本不兼容,执行以下命令修复:

sudo apt update
sudo apt install --reinstall libegl-mesa0 libegl1-mesa libegl1-mesa-dev mesa-utils
sudo ldconfig

2. 修改Eclipse启动参数,绕过图形库依赖

打开Eclipse安装目录下的eclipse.ini文件,在-vmargs段落添加以下参数之一:

  • 禁用OpenGL渲染,强制使用软件渲染:
    -Dswt.opengl=false
    -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false
    
  • 指定EGL库的系统路径(根据实际路径调整,通常为/usr/lib/x86_64-linux-gnu/):
    -Djava.library.path=/usr/lib/x86_64-linux-gnu/
    

3. 切换到兼容的JDK版本

OpenJDK 21在桌面图形库兼容性上可能存在问题,尝试切换到LTS版本OpenJDK 17:

sudo apt install openjdk-17-jdk

修改eclipse.ini中的-vm参数,指向JDK17的执行路径,例如:

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

4. 修复系统库链接

运行以下命令检查Java与EGL库的链接状态:

ldd /usr/bin/java | grep egl

如果无输出,说明链接异常,可手动创建软链接(假设libEGL.so位于/usr/lib/x86_64-linux-gnu/mesa/):

sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libEGL.so.1 /usr/lib/x86_64-linux-gnu/libEGL.so

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 00:34:55