2017-09-19 170 views
3

Config.ini文件具有属性osgi.bundles,其中包含启动我的RCP时需要启动的插件列表。对于例如:在config.ini属性中使用变量OSGI.bundles

osgi.bundles=reference\:file\:org.junit_4.8.2.v4_8_2_v20110321-1705/@4,reference\:file\:[email protected],reference\:file\:[email protected] 

澄清: 我需要使用Java变量/环境变量在插件的参考。这样我可以使我的RCP更加灵活。请提出解决方案。

我需要像下面的东西:

osgi.bundles=reference\:file\:{ENV.USERDIR}/org.junit_4.8.2.v4_8_2_v20110321-1705/@4 

这里试图负载束时,JUNIT bundle应该从环境变量USERDIR被替换加载。

c:/users/username/org.junit_4.8.2.v4_8_2_v20110321-1705 

任何帮助表示赞赏。

由于提前, 维克拉姆

+0

读取'osgi.bundles'('org.eclipse.core.runtime.adaptor.EclipseStarter')的Eclipse代码不支持这一点。 –

+0

我修改了EclipseStarter中读取inosgi.bundles的代码。但我无法阅读有价值的信息。你确定Eclipse启动器是否在生成产品后运行程序? –

+0

那么你是否已经构建了一个新版本的org.eclipse.osgi插件,其中包含修改的EclipseStarter,并确保在启动过程中调用该插件? –

回答

3

这在org.eclipse.equinox.launcher_V1.3.0或更高版本支持。您可以使用环境变量,如

$ variable_name $/bundle-name.jar

解析配置文件时,启动程序将替换变量的值并从指定位置启动该包。