Bnd - Bundle Tool中文使用手册

在Play OSGi中提及到了Bnd是个非常有用的东西,既然是个好东西,就介绍给大家用,在得到了Peter的授权下,我把这篇使用手册翻译成了中文,大家感兴趣的话可以到这里看看:http://www.aqute.biz/Code/BndCn,同时也会提供一个PDF的版本供大家下载,PDF版本下载地址为:http://www.blogjava.net/Files/BlueDavy/Bnd.zip
有了Bnd后,传统的java工程非常容易打包成标准的OSGi R4的bundle,同时Bnd也为校验Bundle是否符合OSGi R4规范提供了支持,而且Bnd有命令行、Eclipse插件、Ant Task和Maven插件,拿过来非常的好用,强烈推荐大家用用看。
不过如果Bnd推出一个图形的编辑文件内容的插件就更好了,就像插件里的Manifest.MF的图形编辑器一样,那样Bnd就好用了。
在这里简单的说一个使用Bnd打包生成Bundle的例子,
例如我们要把Eclipse里A工程里的接口和实现打包成两个Bundle:
首先把接口部分cn.org.osgi.demo里的类打包为demo Bundle,并允许其他Bundle访问到这个package,那么就只需要在A工程里建立一个cn.org.osgi.demo.bnd的文件,文件内容这么写:
Export-Package = cn.org.osgi.demo;-noimport:=true;version=1.0
Bundle-Version = 1.0
然后就只需要在Eclipse里选中此文件,点击右键,选择Make Bundle就会在和bnd文件同级的目录下生成一个cn.org.osgi.demo.jar文件,打开这个jar文件查看它的manifest.mf文件,内容如下:
Manifest-Version: 1.0
Bundle-Name: A
Created-By: 1.4.2_03 (Sun Microsystems Inc.)
Bundle-ManifestVersion: 2
Bundle-SymbolicName: cn.org.osgi.demo
Tool: Bnd-0.0.160
Bnd-LastModified: 1185523455812
Export-Package: cn.org.osgi.demo;version=1.0
Bundle-Version: 1.0
可以看到,Bnd已经按照OSGi规范生成了标准的manifest.mf的内容。
然后把实现部分cn.org.osgi.demo.impl里的类打包为demo Impl Bundle,同样的在A工程里建立一个cn.org.osgi.demo.impl.bnd的文件,文件内容这么写:
Private-Package = cn.org.osgi.demo.impl
Bundle-Version = 1.0
同样的方法打包生成此Bundle,这个Bundle的manifest.mf文件内容为:
Manifest-Version: 1.0
Bundle-Name: A
Private-Package: cn.org.osgi.demo.impl
Created-By: 1.4.2_03 (Sun Microsystems Inc.)
Import-Package: cn.org.osgi.demo
Bundle-ManifestVersion: 2
Bundle-SymbolicName: cn.org.osgi.demo.impl
Tool: Bnd-0.0.160
Bnd-LastModified: 1185523495406
Bundle-Version: 1.0
可以看到,基于Bnd我们非常容易就把一个传统的java工程打包成了两个有效的OSGi R4的Bundle,从这可以看出这对于要把传统的java系统重构为基于OSGi的系统会有很大的帮助,除了打包生成Bundle外,Bnd本身还具备了校验bundle是否符合OSGi R4规范、把新的文件或jar文件添加到已存在的Bundle中去。
如果觉得还不错的话,大家不妨试试,具体的使用方法可以看使用手册。

posted on 2007-07-27 16:11 BlueDavy 阅读(6179) 评论(3)  编辑  收藏 所属分类: OSGi、SOA、SCA

评论

# re: Bnd - Bundle Tool中文使用手册 2007-08-16 12:00 zhoufu24

受用!  回复  更多评论   

# re: Bnd - Bundle Tool中文使用手册 2007-08-28 17:51 giggs

自从学习OSGI认识了bluedavy,
今天光顾blog收获更大
bnd的编译理念值得学习  回复  更多评论   

# re: Bnd - Bundle Tool中文使用手册 2012-08-23 08:40 tms

多谢分享。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

 









feedsky
抓虾
google reader
鲜果

导航

<2012年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

统计

随笔分类

随笔档案

文章档案

Blogger's

搜索

最新评论

阅读排行榜

评论排行榜