使用Eclipse开发OSGi Bundle时,会发现有很多现成的Bundle可以用。但如何使用这些Bundle呢?除了上网搜索查资料外,阅读这些Bundle的源码也是一个很好的方法。
本文以org.eclipse.osgi.services为例,说明如何用Eclipse阅读其源码。
第一步:打开Eclipse,从菜单项Run >> Run Configurations...打开运行配置对话框,在左侧列表找到OSGi Framework,点击New按钮,如下图。找到OSGi对应的版本,这里是3.7.2,记下来,然后点击Close按钮,这里没有必要保存。
第二步:打开浏览器,进入Equinox下载网址http://download.eclipse.org/equinox/,找到对应的版本:
点击进入,选择All of Equinox下载类型:
第三步:下载完毕后解压缩,然后进入plguins目录,找到想阅读其源码的Bundle源码文件,这里需要注意版本对应的问题。Eclipse使用的是org.eclipse.osgi.services_3.3.0.v20110513,在plugins目录下就应该有两个jar文件:org.eclipse.osgi.services_3.3.0.v20110513.jar和org.eclipse.osgi.services.source_3.3.0.v20110513.jar,后面的文件就是Bundle源码文件。将对应的源码文件复制到Eclipse安装位置下载plugins目录。
第四步:在Eclipse新建一个Bundle项目,在MANIFEST.MF文件加入对org.eclipse.osgi.services的导入:
第五步:导入org.eclipse.osgi.services后,在项目的Plug-in Dependencies分类下就会出现该Bundle,展开下面的包,双击类名就可以看到对应的源码了。