Ответ 1
Трудный внутренний путь:
InternalPlatform.getDefault().getBundleContext()
может сделать это.
Вы найдете пример в этот класс
public class ExportClassDigestApplication implements IApplication {
public Object start(IApplicationContext context) throws Exception {
context.applicationRunning();
List<ExtensionBean> extensionBeans = ImpCoreUtil.loadExtensionBeans("com.xab.core.containerlaunchers");
for (ExtensionBean bean : extensionBeans) {
ILauncher launcher = (ILauncher) bean.getInstance();
launcher.start();
}
ClassFilter classFilter = new ClassFilter() {
public boolean isClassAccepted(Class clz) {
return true;
}
};
PrintWriter writer = new PrintWriter( new File( "C:/classes.csv"));
Bundle[] bundles = InternalPlatform.getDefault().getBundleContext().getBundles();
Каждый плагин имеет доступ к своему собственному контексту связки.
Просто убедитесь, что ваш класс плагина переопределяет метод start (BundleContext). Затем вы можете сохранить его на классы места в своем подключаемом модуле, легко получив доступ к
Обратите внимание, что контекст пакета, предоставляемый подключаемому модулю, специфичен для него и не должен использоваться совместно с другими плагинами.