转自:http://www.mzone.cc/article/166.html
使用eclipse开发的RCP应用程序默认是不能够自动加载plugins目录下的新插件的,按照以往的开发方式,加一个新的插件到RCP系统中,需要在主插件里配上依赖关系。这样一来,就非常不方便,对开发人员来说不透明,而且发布程序后增加新的插件需要重新部署,这样对用户也不方便。所以让RCP程序自动加载所有的新插件将是最值得赞赏的地方。经过实际研究,发现可以做到RCP自动加载新插件,具体操作如下:
1)首先打开主插件(RCP程序)的plugin.xml文件,定位到Dependencies选项卡,在Required Plug-ins中添加org.eclipse.update.core插件,然后保存;
2)然后打开主插件的product产品配置文件(如果没有,请通过向导建立),在Configuration选项卡中的Plug-ins and Fragments中添加,记得首先要添加你的主插件,然后才可以选择Add Required Plug-ins。如果你之前已经添加了所需要的,那么此时只需要单击该按钮即可;然后在下面Configuration File中选择Generate a default config.ini file,最后保存即可;
3)然后按照正常的RCP打包导出即可。然后在导出后的目录的configuration目录下,你会看到config.ini文件,其内容一般包含如下几行: ------------------------------------ eclipse.product=you.product osgi.bundles.defaultStartLevel=4 osgi.bundles=org.eclipse.equinox.common@2:start,org.eclipse.update.configurator@3:start,org.eclipse.core.runtime@start ------------------------------------ 其中第一行就是你自己的产品名称了,注意最后一行bundles中的update,这就是实现RCP自动加载新插件的关键了。以后,你开发的新插件只要往plugins目录下扔,然后重新启动RCP程序就可以自动加载插件了,是不是很方便呢:-)
注:该方法在Eclipse3.4平台下测试通过,之前的平台没有做测试,无法获知是否准确!
|