Eclipse PDE: программно читать содержимое целевой платформы

В моем приложении целевая платформа должна содержать некоторые из моих пользовательских плагинов помимо плагинов eclipse. Во время использования приложения я хочу проверить содержимое целевой платформы по установленной папке, которая должна содержать мои пользовательские плагины.

По сути, я хотел бы получить список всех пакетов на целевой платформе (плагины Eclipse + мои пользовательские плагины).

Я попытался использовать getBundleContext() в ResourcesPlugin и PDEPlugin, но он возвращает только плагины eclipse bas, а не мои собственные плагины.

0 ответов

ITargetPlatformService service = PDECore.getDefault().acquireService(ITargetPlatformService.class);
            for (TargetBundle targetBundle: service.getWorkspaceTargetDefinition().getBundles()) {
//then get name of plugin via targetBundle.getBundleInfo().getSymbolicName()
}

Проблема с этим кодом заключается в том, что вы получаете предупреждение, подобное: Запрещенный доступ: тип 'PDECore' не является API (ограничение на требуемую библиотеку '...\eclipse-rcp-photon-R-win32-x86_64\plugins\org.eclipse.pde.core_3.12.0.v20180516-1159.jar')

Другие вопросы по тегам