1

我在这里遇到了一个问题……我们的团队正在尝试将 Eclipse Eclipse RCP 项目移植到网络中,因此第一步是尝试使用 Virgo 来使用插件。我已经创建了所有正确的东西,但是当我尝试使用扩展点(一个 Eclipse 概念)时,它在这个调用上给了我一个空指针异常:

org.eclipse.core.runtime.Platform.getextensionregistry(); // 这里为空

有没有人有解决这个问题的经验?

谢谢,

汤姆

更新

所以我在这个方面更进一步。我已将 org.eclipse...registry 捆绑包及其相关捆绑包添加到存储库/usr 文件夹中,并且在我启动我的 Web 应用程序后必须手动登录到控制台才能启动它。然而,这仍然是一个问题,因为现在我的应用程序似乎没有注册任何扩展点。可能是应用程序启动的顺序吗?(即,我必须先启动注册表包)?

4

1 回答 1

1

第一步是将 eclipse 注册表包添加到用户区域的初始工件中;在 org.eclipse.virgo.kernel.userregion.properties 中,将 initialArtifacts 更改为:

initialArtifacts=repository:plan/org.eclipse.virgo.kernel.userregion.blueprint,repository:plan
/org.eclipse.virgo.web.tomcat,repository:configuration/org.eclipse.virgo.apps.repository,repository:plan/org.eclipse.virgo.management,repository:bundle/org.eclipse.equinox.registry

这至少可以确保在加载 Eclipse 插件时注册表插件可用。我仍在苦苦挣扎的是弄清楚如何控制注册表加载哪个 plugin.xml 以及触发它的原因。不知何故,一些 Eclipse 运行时会扫描一些插件目录,但是我仍然不清楚在 Virgo 中如何设置它。

于 2013-03-27T12:58:21.910 回答