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

Eclipse 2022-06构建RCP产品后Windows运行报错:com.sun.jna依赖未解析

Eclipse RCP导出产品运行时com.sun.jna依赖解析失败问题

问题描述

我刚安装了Eclipse 2022-06(4.24.0),并构建导出了默认RCP应用产品。在Windows系统中运行该产品时,日志文件出现如下错误(在Eclipse IDE环境中可正常运行)。看起来com.sun.jna库缺失,但它已被包含在所需插件中,且在构建产品的config.ini和plugins文件夹中也存在。已花费两天时间尝试解决该问题,但仍无头绪。

错误日志

!SESSION 2022-08-16 14:25:08.798 -----------------------------------------------
eclipse.buildId=unknown
java.version=18.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -clearPersistedState
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -clearPersistedState

!ENTRY org.eclipse.e4.ui.workbench.addons.swt 4 0 2022-08-16 14:25:09.361
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.e4.ui.workbench.addons.swt [42]
  Unresolved requirement: Import-Package: org.eclipse.e4.ui.internal.workbench.swt
    -> Export-Package: org.eclipse.e4.ui.internal.workbench.swt; bundle-symbolic-name="org.eclipse.e4.ui.workbench.swt"; bundle-version="0.16.500.v20220506-1520"; version="0.0.0"; x-friends:="org.eclipse.e4.ui.workbench.addons.swt,org.eclipse.e4.ui.workbench.renderers.swt,org.eclipse.ui.workbench"
       org.eclipse.e4.ui.workbench.swt [44]
         Unresolved requirement: Require-Bundle: org.eclipse.urischeme; bundle-version="1.1.0"
           -> Bundle-SymbolicName: org.eclipse.urischeme; bundle-version="1.2.100.v20211001-1648"; singleton:="true"
              org.eclipse.urischeme [64]
                Unresolved requirement: Require-Bundle: com.sun.jna; bundle-version="[5.8.0,6.0.0)"
  Unresolved requirement: Require-Bundle: org.eclipse.e4.ui.workbench.renderers.swt; bundle-version="0.9.1"
    -> Bundle-SymbolicName: org.eclipse.e4.ui.workbench.renderers.swt; bundle-version="0.15.500.v20220511-1638"; singleton:="true"
       org.eclipse.e4.ui.workbench.renderers.swt [43]
         Unresolved requirement: Require-Bundle: org.eclipse.e4.ui.workbench.swt; bundle-version="0.9.0"
           -> Bundle-SymbolicName: org.eclipse.e4.ui.workbench.swt; bundle-version="0.16.500.v20220506-1520"; singleton:="true"

    at org.eclipse.osgi.container.Module.start(Module.java:463)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847)
    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1781)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)

解决方案

  • 校验com.sun.jna版本匹配度
    日志明确显示org.eclipse.urischeme要求com.sun.jna的版本范围是[5.8.0,6.0.0),确认你打包的com.sun.jna插件版本处于该区间内。若版本不符,在产品配置的依赖项中指定符合要求的版本。

  • 调整com.sun.jna启动级别
    打开导出产品的config.ini文件,添加或修改org.osgi.framework.startlevel.bundle配置,将com.sun.jna的启动级别设置为较早的数值(例如com.sun.jna=4),确保依赖它的bundle启动时能找到该库。

  • 补全产品依赖链
    在Eclipse的.product配置文件中切换到Dependencies标签,点击Add Required Plug-ins按钮,让Eclipse自动补全所有间接依赖,包括com.sun.jna的完整依赖关系,之后重新构建导出产品。

  • 清理后重新构建

    1. 执行IDE项目清理:点击Project > Clean...,选择所有相关项目进行清理
    2. 删除旧的导出产品目录,避免残留文件干扰
    3. 导出时确保勾选Include all required plug-ins选项
  • 检查JNA原生库完整性
    com.sun.jna依赖对应系统架构的原生库(如jna.dll),确认这些文件存在于导出产品plugins目录下的com.sun.jna插件文件夹中,且与Windows x86_64架构匹配。若缺失,从Eclipse安装目录的plugins中复制对应原生库文件到导出产品的对应位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:24:28