OSGI起步

这周一直在研究项目的框架,项目主要使用了osgi框架。osgi的介绍就不说了。
开发环境:
eclipse 4.6
java1.8

1.创建项目
创建Plug-in Project
OSGI起步
其中osgi框架选择eclipse自带的Equinox。
点击finish创建完成。

2.启动
创建后,src下默认生成了一个Activator类
OSGI起步

在该类中有两个方法start和end,从名字上也可以大概知道这个两个方法是干嘛的:框架启动和停止时执行的方法;
现在来启动一个试试。我们在两个方法中打印语句,看看效果;
右键设置run configurations
OSGI起步

在左边目录下可以看见osgi fragmework,右键新建一个配置,我这里起名为CSDN;
OSGI起步
在右边bundles目录下,有workspace和target platform。workspace下选择我们刚刚新建的bundle(CSDN)。target中选择的就是框架运行的环境了。开始学习的时候从网上找资料,可能是版本原因,网上说只需要org.eclipse.osgi.
OSGI起步
但是按照上图配置好后,点击run,启动会报错
OSGI起步
报错说的很明白:找不到org.eclipse.equinox.console bundle.
那快去target中找找这个bundle,找到后添加,然后可以点击右下角的Validate Bundles,它是用来检测bundles之间的引用关系,点击后弹出提示
OSGI起步
显然还需要其他的插件,反复经过这些步骤,最终的插件结构是:
OSGI起步
我们可以看到插件属性里有start level 和auto-start,其中start level默认为4,auto-start默认是true;
点击run,你应该会得到图中的内容:
OSGI起步
汉字是方法中打印的语句,ss命令用来查看插件状态,我们可以使用start/stop 空格 id命令(start 1)来打开或者停止一个插件;
这样一个启动流程就结束了;

学习学习资料

该链接介绍的版本比较老,后续会慢慢更新新版本。