如何实现RCP与其插件的关系

阅读更多

ECLIPSE RCP开发工作中,完成产品与插件的安装模式、共享JAR,以及插件调用产品的包。需要解决一系列问题:

1:解决PRODUCT与插件依赖集

2: PRODUCT如何向PLUGIN开放自己或公共JAR的包

3: PLUGIN如何引入PRODUCT的包

 

下面给出解决方案:

1, 解决PRODUCT与插件依赖集

     现在还没有有效的办法解决,现在只能利用开发中的经验来添加依赖的插件。添加依赖插件都是在产品中添加,所以,对其他人在开发各个模块(在ECLIPSE中称为插件)时没什么影响,因为,我们已做好了相对依赖集齐全的产品

依赖集添加,我们使用功能部件中的feature.xml中添加依赖插件,对应配置文件编辑器的plug-in菜单项。设置参照图(1)示:

 

   图(1

功能部件,其作用大家可以参看IBM的相关文章http://www-128.ibm.com/developerworks/cn/linux/opensource/os-ecfeat/

 

2PRODUCT如何向PLUGIN开放自己或公共JAR的包

3.1 之前版本的 Eclipse 中,在每个插件的 plugin.xml 文件中定义插件依赖关系以及扩展和扩展点。在使用 OSGi 的新版本 Eclipse 中,依赖关系信息被分解到 manifest.mf 文件中。在产品的主程序中,需要做一些设置,如下:

A)打开META-INF /manifest.mf。进入下面界面,选择runtime菜单。可以看到runtime exported packages,对应到Export-Package属性,manifest.mf文件的属性作用请参照IBM译文http://www-128.ibm.com/developerworks/cn/opensource/os-ecl-osgi/index.htmlExport-Package 该属性指定要公共暴露给其他插件的所有包。设置可参照下图(2):

    图(2

 

3PLUGIN如何引入PRODUCT的包

    调用product的包,首先,需要增加增加依赖的插件,因为插件是在产品的基础上来加载的,所以需要将产品设为其运行依赖。设置方法如图(3):

   

               图(3

 

wokespace中需要import产品工程。这样才能在PLUGIN中引入产品的包。这里需要注意的是引入包路径为;

你可能感兴趣的:(F#,Eclipse,OSGI,OpenSource,EXT)