`
snoopy7713
  • 浏览: 1146755 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

getConfigurationElementsFor 无法获得扩展点的信息

    博客分类:
  • RAP
阅读更多

做项目的时候RCP程序在eclipse调试环境下面运行正常,但是打包成RCP product后却运行不正常了。利用RCP远程调试,发现:

Java代码  收藏代码
  1. IConfigurationElement[] configurationElements =   
  2.             Platform.getExtensionRegistry().getConfigurationElementsFor(ExtensionPointId);  

 无法取得扩展点信息,原因是要在plugin.xml中的Extension Points界面中增加扩展点信息,点击add按钮,就会在工程schema文件夹下面生成.exsd文件。

有了这个文件,plugin.xml中自定义的扩展点才会被识别。

 

Extension Point

Plug-in with extension point (plugin_id ):

plugin.xml > Extension Points > Add > ID=point_id , Name

point_id .exsd > Definition > New Element > Name=element_name

element_name > New Attribute > Name=class_name , Type=java, Implements=package_name .InterfaceName > Implements

point_id .exsd > Definition > extension > New Choice > right-click > New > element_name

plugin.xml > Runtime > Exported Packages > Add > package_name

Activator.start (for example):

 IConfigurationElement[] elements = Platform.getExtensionRegistry ().getConfigurationElementsFor ("plugin_id.point_id

");
 for (IConfigurationElement e : elements) {
   Object o = e.createExecutableExtension ("class_name

");
   if (o instanceof InterfaceName) {
   }
 }

Plug-in with extension:

MANIFEST.MF > Dependencies > Required Plug-ins > plugin with extension point

MANIFEST.MF > Extensions > Add > plugin_id.point_id > right-click > New > element_name > class_name

Add plug-in with extension to run configuration.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics