Eclipse下编写第一个OSGI Hello World应用

1.打开Eclipse,依次打开“File -> new -> project -> Plug-in Development -> Plug-in Project”,如下图所示:

若没有Plug-in Development,参考如何解决eclipse中没有plugin development,进行处理。

点击next,输入名称,注意目标平台的选择,由于我们的项目是一个通用的 OSGi bundle,所以选择 equinox,如下图所示:

点击next,更改插件的名称,Options选择第一个缺省的设置,如下图所示:

点击next,不使用任何模板,所以勾掉缺省的选项:


点击finish,创建成功。

2.打开“src -> org.test.helloworld -> Activator.java”,在start方法中加入打印HelloWorld的代码,如下:

package org.test.helloworld;

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;

public class Activator implements BundleActivator {

	private static BundleContext context;

	static BundleContext getContext() {
		return context;
	}

	/*
	 * (non-Javadoc)
	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
	 */
	public void start(BundleContext bundleContext) throws Exception {
		Activator.context = bundleContext;
		System.out.println("Hello World");
	}

	/*
	 * (non-Javadoc)
	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
	 */
	public void stop(BundleContext bundleContext) throws Exception {
		Activator.context = null;
	}

}
随后保存。

3.打开“Run -> Run Configurations...”,找到OSGI Framework,点击右键选择new,填写名称,选择对应的Workspace,Target Platform选择下图所示的几项,勾掉最下方的选择框:


4.点击Run,查看控制台是否打印了Hello World,若无报错,则创建成功



PS:Equinox OSGi 主要的控制台命令表

类别 命令 含义
控制框架 launch 启动框架
shutdown 停止框架
close 关闭、退出框架
exit 立即退出,相当于 System.exit
init 卸载所有 bundle(前提是已经 shutdown)
setprop 设置属性,在运行时进行
控制 bundle Install 安装
uninstall 卸载
Start 启动
Stop 停止
Refresh 刷新
Update 更新
展示状态 Status 展示安装的 bundle 和注册的服务
Ss 展示所有 bundle 的简单状态
Services 展示注册服务的详细信息
Packages 展示导入、导出包的状态
Bundles 展示所有已经安装的 bundles 的状态
Headers 展示 bundles 的头信息,即 MANIFEST.MF 中的内容
Log 展示 LOG 入口信息
其它 Exec 在另外一个进程中执行一个命令(阻塞状态)
Fork 和 EXEC 不同的是不会引起阻塞
Gc 促使垃圾回收
Getprop 得到属性,或者某个属性
控制启动级别 Sl 得到某个 bundle 或者整个框架的 start level 信息
Setfwsl 设置框架的 start level
Setbsl 设置 bundle 的 start level
setibsl 设置初始化 bundle 的 start level

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值