Eclipse rcp 获取应用程序品牌信息
当Eclipse RCP IAApplication启动时,会向它传递一个包含大量品牌和配置信息的IApplicationContext对象。我希望在没有应用程序插件配合的情况下,从任意其他插件(而不是应用程序插件)获取任何相同的信息,即调用getBrandingApplication()或getBrandingName()的结果。换句话说,我是否可以在运行时调用任何方法来获取当前运行的IApplication的id或位置?Eclipse rcp 获取应用程序品牌信息,eclipse-rcp,Eclipse Rcp,当Eclipse RCP IAApplication启动时,会向它传递一个包含大量品牌和配置信息的IApplicationContext对象。我希望在没有应用程序插件配合的情况下,从任意其他插件(而不是应用程序插件)获取任何相同的信息,即调用getBrandingApplication()或getBrandingName()的结果。换句话说,我是否可以在运行时调用任何方法来获取当前运行的IApplication的id或位置?IApplicationContext被定义为OSGi服务,因此您可以使
IApplicationContext
被定义为OSGi服务,因此您可以使用ServiceTracker
或其他访问服务的方法从任何插件访问它。比如:
ServiceTracker appContext = new ServiceTracker(bundle, IApplicationContext.class, null);
appContext.open();
IApplicationContext context = appContext.getService();
您还可以使用ipproduct
的getProperty
方法访问一些信息,该方法可从Platform.getProduct()
获得
在Eclipse4“e4”应用程序中,iaapplicationContext
位于Eclipse上下文中,可以被注入