OSGI起步

来源:互联网 发布:电脑屏幕亮度调节软件 编辑:程序博客网 时间:2024/05/17 02:23

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

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

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

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

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

学习学习资料

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