我在这里遇到问题......我们的团队正在尝试将Eclipse Eclipse RCP项目移植到网络中,因此第一步是尝试使用Virgo来使用插件。我创建了所有正确的东西但是当我尝试使用扩展点(Eclipse概念)时,它在这个调用中给了我一个空指针异常:
org.eclipse.core.runtime.Platform.getextensionregistry(); // null null
在解决这个问题方面有没有人有经验?
谢谢,
汤姆
更新:
所以我对此有所了解。我已经将org.eclipse ...注册表包及其相关的包添加到了存储库/ usr文件夹中,并且在启动我的Web应用程序后必须手动登录到控制台以启动它。然而,这仍然是一个问题,因为现在我的应用程序似乎没有注册任何扩展点。这可能是应用程序启动的顺序吗? (即我必须首先启动注册表包)?
答案 0 :(得分: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运行时会扫描一些插件目录,但是如何在处女座中设置它仍然不清楚。