我正在构建一个 Eclipse 插件,它在常规插件项目中提供一组核心功能。我通过片段项目提供的可选功能。但我需要片段在启动时向主插件注册。
我不能在片段项目中使用 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)
{
}
}
}
}