You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Eclipse e4 RCP应用启动失败:“无法从URI检索bundle”错误排查求助

解决Eclipse e4 RCP启动时“Unable to retrieve the bundle from the URI”错误

先拆解下你遇到的核心错误:

!ENTRY org.eclipse.e4.ui.workbench 4 0 2018-05-05 14:01:24.060
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://com.mycompany.myapp/com.mycompany.myapp.demo.DemoPart

这个报错本质是系统找不到com.mycompany.myapp这个插件,或者插件内的DemoPart类无法被正常访问。结合你怀疑feature.xml配置的方向,给你几个具体的排查和解决步骤:

  • 检查feature.xml的插件包含情况
    打开你的feature.xml,切换到Plug-ins标签页,确认com.mycompany.myapp插件已经被添加。如果是通过依赖其他feature来引入,要确保依赖的feature里确实包含了这个插件。另外注意插件的Version Match设置,别因为严格版本匹配但实际版本不一致导致无法加载。

  • 验证目标插件的MANIFEST.MF配置
    打开com.mycompany.myapp插件的MANIFEST.MF文件:

    • 核对Bundle-SymbolicName是否完全等于com.mycompany.myapp(大小写敏感,拼写错一个字符都会出问题)
    • 检查Export-Package是否包含com.mycompany.myapp.demo包;如果是在e4应用模型里引用这个Part,还要确保插件配置了Eclipse-RegisterBuddy或者UI相关包能被workbench正常访问
    • 确认Bundle-ActivationPolicy设置为lazy,避免插件启动时未激活导致类无法被找到
  • 排查运行配置的插件列表
    打开你的Run Configuration(运行配置),切换到Plug-ins标签页:

    • 直接搜索com.mycompany.myapp,确认它已经被勾选(有时候Add Required Plug-ins会漏掉非直接依赖的插件)
    • 点击Validate Plug-ins按钮,查看是否有依赖缺失或冲突的提示
  • 检查e4应用模型的引用正确性
    如果DemoPart是在.e4xmi文件里定义的Part:

    • 核对Part的Class URI拼写,确保bundle名和类的全限定名完全正确
    • 检查.e4xmi的Dependencies标签,确认包含com.mycompany.myapp插件的依赖
  • 清理重建项目,清除缓存
    有时候是构建缓存导致的问题:

    • 执行Project > Clean...,清理所有项目后重新构建
    • 删除运行配置生成的临时工作区(路径一般是workspace/.metadata/.plugins/org.eclipse.pde.core/[你的运行配置名]),再重新启动应用

我之前碰到过几乎一模一样的问题,就是feature.xml漏加了包含Part的插件,而且运行配置里也没手动勾选,导致启动时workbench找不到对应bundle。按上面的步骤逐一排查,应该能快速定位到问题。

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

火山引擎 最新活动