我正在構建一個Eclipse插件,該插件在常規插件項目中提供了一組核心功能。我通過片段項目提供的可選功能。但是我需要這些碎片在啓動時向主插件註冊。是否存在與Eclipse片段項目的BundleActivator等效的內容?
我不能在片段項目中使用Bundle-Activator。所以我想知道是否有一些替代機制來聲明一個入口點或一些可以掛鉤的回調?
如果除了將片段項目轉換爲常規插件項目之外沒有別的選擇,那麼我需要注意哪些缺點?
這是我使用了基於公認的答案的解決方案:
final IExtensionRegistry registry = Platform.getExtensionRegistry();
final IExtensionPoint extensionPoint = registry.getExtensionPoint("myextensionid");
final IExtension[] extensions = extensionPoint.getExtensions();
for (int j = 0; j < extensions.length; ++j)
{
final IConfigurationElement[] points = extensions[j].getConfigurationElements();
for (int i = 0; i < points.length; ++i)
{
if ("myelementname".equals(points[i].getName()))
{
try
{
final Object objImpl= points[i].createExecutableExtension("class");
objImplList.add(provider);
}
catch (CoreException e)
{
}
}
}
}
這個問題應該作爲如何使用計算器的例子。謝謝! – 2009-01-18 11:03:31