目前开发OSGI,使用的IDE是SpringSource Tool Suite(STS),这个spring出品的工具不但具备eclipse的所有特性,对spring的支持可谓一流。
1. 在STS中建立Eclipse插件工程Plug-in Project;
2. 将工程导出为Deployable plug-ins and fragments;
3. 建立单独的部分目录JK,拷贝IDE的plugins目录中的org.eclipse.osgi_3.5.2.R35x_v20100126.jar(不同版本的IDE附带的bundle可能版本不同)到JK的根目录;
4. 编写批处理文件java -jar org.eclipse.osgi_3.5.2.R35x_v20100126.jar -console;(可以对org.eclipse.osgi.jar进行更改名称,简化批处理文件的编写)
5. 运行批处理,可以看到已经运行了;执行ss查看加载的bundles情况;可以看到equinox自动建立了configuration目录,里面放置的是运行日志;
6. 在JK目录中建立bundles目录,将导出的bundle放入其中,在命令行中执行install reference:file:bundles/xxxx.jar,之后执行ss,可以看到我们的bundle已经加载了并处于RESOLVED状态;执行start bundle的ID启动该bundle;
7. 可以通过配置文件配置启动时就加载指定bundle而不用手动install;在configuration目录中建立config.ini文件,其内容如下:
从新执行启动命令行,并执行ss,可以看到我们的bundle自动加载了,并且状态为ACTIVE。