Java 以编程方式获取目标平台的列表

Java 以编程方式获取目标平台的列表,java,eclipse,eclipse-plugin,target-platform,Java,Eclipse,Eclipse Plugin,Target Platform,如何以编程方式获取工作区的可用目标定义列表?我正在编写一个插件,它需要显示所有可用目标平台的列表。ITargetPlatformServiceOSGi服务提供有关目标平台的信息 通过以下方式获取此信息: ServiceReference<ITargetPlatformService> ref = bundleContext.getService(ITargetPlatformService.class); ITargetPlatformService service = bundl

如何以编程方式获取工作区的可用目标定义列表?我正在编写一个插件,它需要显示所有可用目标平台的列表。

ITargetPlatformServiceOSGi服务提供有关目标平台的信息

通过以下方式获取此信息:

ServiceReference<ITargetPlatformService> ref = bundleContext.getService(ITargetPlatformService.class);

ITargetPlatformService service = bundleContext.getService(ref);

方法
ITargetPlatformService
获取目标平台阵列。

谢谢@greg。如何在Activator之外获取BundleContext的引用?我使用FrameowrkUtil类获取捆绑包上下文,但现在我找不到在调用GetTargets时如何获取监视器您可能可以对监视器使用
null
NullProgressMonitor
。是的,我使用了NullProgressMonitor。谢谢但它并不是拉所有的目标平台,只是运行的目标平台。我正在使用service.getTargets(新的NullProgressMonitor());其中服务是ITargetPlatformService不要忘记,当您使用“Run>Eclipse应用程序”测试插件时,会启动一个新的测试Eclipse。您可以在测试Eclipse中获得目标平台(而不是主开发Eclipse)。您需要在测试Eclipse中设置目标平台。
public ITargetHandle[] getTargets(IProgressMonitor monitor)