Eclipse e4 RCP应用程序无法启动“无法从URI检索包”错误

时间:2018-05-05 13:59:47

标签: java eclipse eclipse-plugin eclipse-rcp e4

当尝试启动我正在开发的Eclipse e4 RCP应用程序时,会显示以下错误消息...

!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

我认为问题可能是由feature.xml文件中未定义的插件引起的,但我无法弄清楚哪个插件丢失了。使用插件MANIFEST.MF文件的“依赖关系分析”部分下的“显示插件依赖关系层次结构”功能,我在feature.xml文件中包含了所有插件依赖关系。

该产品基于功能,由我开发的插件和从Eclipse Orbit引入的第三方依赖项组成。目前正在使用Eclipse中的产品文件启动该应用程序。

我的问题是......

  1. 是否有可能从Eclipse RCP应用程序中获取更详细的错误消息,这将指示问题的原因?
  2. 我可以采取其他任何故障排除步骤来解决问题吗?
  3. 假设问题是由缺少的插件引起的,是否有可能确定哪个插件实际丢失?

1 个答案:

答案 0 :(得分:0)

解决方案是使用OSGI控制台来确定无法加载捆绑包的原因。这需要许多步骤:

  1. 将参数-console 5555添加到产品文件启动参数
  2. 使用端口5555上的telnet或Eclipse IDE中的控制台视图
  3. 连接到控制台
  4. 使用命令ss <xxx>查找捆绑包ID,其中<xxxx>是不会加载的捆绑包的名称,或者仅使用命令ss并找到捆绑包清单
  5. 运行命令diag <bundle-id>,其中<bundle-id>是从上一步获得的ID。这应该表明捆绑失败的原因
  6. 如果问题是由于缺少相关性,请查找包含文本Unresolved requirement的一个或多个条目以及feature.xml文件中缺少的插件
  7. 可能需要多次重复步骤2到5以找到所有缺少的依赖项。