OSGi框架入门与模块版本管理
1. 在Felix中启动捆绑包
在Felix中启动捆绑包,需使用Felix shell中的 start 命令,此命令会触发 BundleActivator.start() 回调。例如:
g! felix:start 4
g! felix:start 5
要注意,这里使用的ID是安装命令返回的ID。执行上述命令后,可能会得到一个堆栈跟踪,且没有出现“Hello World”消息。查看堆栈信息,会发现如下错误:
Caused by: java.lang.NoClassDefFoundError: org/osgi/framework/BundleActivator
这是因为 PrinterClientActivator 类继承自 BundleActivator ,而该类位于 org.osgi.framework 包中,所以需要在捆绑包的清单文件的 Import-Package 头中添加此包:
Manifest-Version: 1.0
Bundle-SymbolicName: helloworld.client
Import-Package: manning.osgi.helloworld,
org.osgi.framework
Bundle-Activator: manning.os
超级会员免费看
订阅专栏 解锁全文
750

被折叠的 条评论
为什么被折叠?



