在我的应用程序中,目标平台设置为包含除Eclipse插件之外的一些自定义插件。在应用程序的使用过程中,我想根据一个应该包含我的自定义插件的已安装文件夹来检查目标平台的内容。
实际上,我想获得目标平台中所有捆绑包的列表(Eclipse插件+我的自定义插件)。
我尝试在ResourcesPlugin和PDEPlugin中使用getBundleContext(),但只返回eclipse bas插件而不是我的自定义插件。
答案 0 :(得分: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的限制')