- 浏览: 1148987 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
在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中去。
如果觉得还不错的话,大家不妨试试,具体的使用方法可以看使用手册。
- Bnd.pdf (191.2 KB)
- 下载次数: 10
发表评论
-
关于Felix Log Service
2012-12-07 16:44 1567OSGi服务纲要规范中定义了服务于OSGi平台的通用日志服 ... -
Maven 3 Felix 4 Eclipse 的搭建与部署(部分转载自别人文章)
2012-10-18 10:24 20324.1.开发环境搭建 4.2开发工具 Maven 3 F ... -
【绝对路径】OSGi环境中获取Plugin/Bundle中文件资源的绝对路径
2012-10-08 10:53 2492摘要:在进行Eclipse RCP开发的过程中,需要使用一 ... -
OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序
2012-09-21 17:46 1423随着OSGi/Equinox逐渐成为Java EE服务端的基础 ... -
OSGi技术在Java Web开发中的应用
2012-09-20 11:26 1411随着 Java SE 对模块化功能原生支持的一再推迟(据最 ... -
OSGI典型的应用案例
2012-09-20 11:26 1634OSGI典型的应用案例主要有两个:分别是Eclipse和BMW ... -
OSGi特点
2012-09-20 11:26 12491、JRE版本无关性。虽然Java一直被人们认为是“Write ... -
OSGI与JMX 的关系
2012-09-19 17:09 1058不过重点是: JMX 本来设计的用途就只为了管理,我们不 ... -
在equinox环境开发web应用的"利器" -- registerResources()方法 详解
2012-09-19 17:07 1227registerResources()方法详解 1、简介 ... -
在equinox环境开发web应用的"利器" -- 序
2012-09-19 17:05 1362在equinox环境中开发web应用必须要借助一些工具包提供的 ... -
equinox环境下web应用资源的部署
2012-09-19 17:04 1307osgi的equinox实现环境下,web服务器和web应用都 ... -
OSGi产生的背景--在繁荣的混乱之中走出困惑
2012-09-19 16:58 1165软件的复杂性正在以惊 ... -
将web容器置于OSGi框架下进行web应用的开发
2012-09-16 14:26 3539将web容器置于OSGi框架下,其实就是将web容器做成OSG ... -
在Eclipse中开发OSGi Bundle
2012-09-16 14:26 1330Eclipse为开发OSGI Bundle提供了良好的支持,它 ... -
【第一代服务注册形式】 - 将一个Bundle注册为服务
2012-09-14 10:09 11551、创建业务接口类及其实现类 Java代码 ... -
Declarative Services规范简介及应用
2012-09-14 10:08 1421Declarative Services 是一 ... -
用FileInstall管理Bundle的动态安装、启动、卸载
2012-09-14 10:07 13321、文件目录如下: F:\study_osgi ... -
服务工厂 - Bundle消费者返回不同的服务对象
2012-09-14 10:03 1207一般情况下,服务对象在注册后,任何其它的Bundle在请求 ... -
服务跟踪(ServiceTracker)
2012-09-14 09:58 1159当多个Bundle使用同一 ... -
OSGi容器中Bundle之间Synchronous Communication
2012-09-11 17:07 1559OSGi Core定义了一个服务层,提供了一个Bundl ...
相关推荐
本操作说明书详细阐述了MIYANO BND-51YS2的各项功能和操作流程,以帮助用户正确、高效地使用该设备。 首先,MIYANO BND-51YS2的结构设计先进,采用双主轴、双刀塔配置,能够同时对工件进行两端面的加工,大大提高了...
离线安装包,亲测可用
离线安装包,亲测可用
Jar转换为Bundle工具
查看build.gradle和modules/ 中的脚本文件,看看您可以使用bnd-platform做什么,并使用./gradlew或gradlew.bat运行构建以从示例中配置的依赖项创建 OSGi 包和 Eclipse 更新站点. 创建的包将驻留在build/plugins 中...
NX二次开发UF_CAMBND_append_bnd_from_face 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域的...
NX二次开发UF_CAMBND_append_bnd_from_curve 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域...
离线安装包,亲测可用
标题"BND2-v2.0.0.zip"指的是一个名为"BND2"的软件的版本2.0.0的压缩包文件,后缀为".zip",表明这是一款使用ZIP格式压缩的文件集合。这种类型的文件通常包含了多个相关联的文件或程序,便于用户一次性下载并解压...
"在浏览器登录白度网盘,获取BDUSS Cookie值(注意拷贝完整)"这部分说明了使用BND1之前需要的步骤。"白度网盘"可能是"百度网盘"的误写。BDUSS(Baidu Unique Server Side Session ID)是百度网盘用来识别用户会话的...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
bnd-launcher-example
离线安装包,亲测可用
rpm安装包
关于BND2的使用,它采用了图形用户界面(GUI),这意味着用户无需具备专业的技术知识,只需通过直观的界面操作就能完成下载任务。对于习惯于Mac系统的用户来说,这样的设计使得软件易于上手,提升了用户体验。此外,...
在使用bnd进行JAR到Bundle的转换时,开发者通常会创建一个bnd工程配置文件(如.bnd或.bndproject),在其中定义bundle的属性,如Bundle-SymbolicName、Export-Package等。然后,bnd工具会读取这些配置,生成相应的...