此文章限于用Maven 构建的Osgi(felix)
写好一个例子,并用maven已经编译好,将其在外部运行,如图所示
但是start之后并不执行各个bundle中的Activator(Activator中都有输出语句)
原来是在MANIFETS.MF中没有指定Activator
Bundle-Activator: com.demo.Activator
如何指定?
可以在eclipse中的pom.xml中添加属性:
<properties>
<Bundle-Activator>com.demo.use.Activator</Bundle-Activator>
</properties>
编译打包后会发现MANIFETS.MF文件中已经加上了Bundle-Activator: com.demo.Activator
也可以手动在MANIFETS.MF文件中添加Bundle-Activator: com.demo.Activator
再在console中运行 就可以了
如图所示:
经过好长时间的研究才弄出来,真实不容易,但是这是自己解决的很开心!!!
知识不是用来缓存的,持久化才是王道