1.准备环境
1.1找到eclipse下的/eclipse/plugins/org.eclipse.osgi_3.x.x_xxx.jar,然后拷贝出来。假设拷贝到$OSGI_HOM目录下。
1.2验证是否正常,然后cd 到该目录下。
执行java -jar org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar -console命令将会进入osgi命令行管理控制台,如下。

2.编写应用代码
2.1创建一个简单的module如下。
package baselib;
import java.util.logging.Logger;
public class BaseService {
Logger log=Logger.getLogger(this.getClass().getName());
public void sayHello() {
log.info("Hello, world!");
}
}
输入命令行编译,并打包。

2.2接下来我们自定义一个管理bundle生命周期的Activator,该calss必须实现org.osgi.framework.BundleActivator 接口。代码如下:
package tutorial;
import baselib.BaseService;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import java.util.logging.Logger;
public class TutorialActivator implements BundleActivator {
Logger log=Logger.getLogger(this.getClass().getName());
public void start(BundleContext bc) {
log.info("started");
new BaseService().sayHello();
}
public void stop(BundleContext bc) {
log.info("stopped.");
}
}
编写好了之后,我们还需要编写一个包含OSGi配置和启动信息的MANIFEST.MF文件,内容如下。
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.theserverside.tutorial.osgi.TutorialBundle
Bundle-Version: 1
Bundle-Activator: tutorial.TutorialActivator
Import-Package: org.osgi.framework;version="1.3.0"
Bundle-ClassPath: .,baselib.jar
从上边的内容我们可以看出,我们将activator打成的jar包需要将我们前边生产的baselib.jar放到我们新生成jar的跟目录下。

注:上述步骤打出的jar包有问题,jar包中的MANIFEST.MF信息好像跟指定的文件并不完全相同,会导致start bundle失败,这时候可以用指定的文件替换下jar包中即可。
3.完成上述步骤后就可以执行下查看bundle,管理bundle。


- 大小: 24.8 KB

- 大小: 36.9 KB

- 大小: 58.2 KB

- 大小: 78 KB
分享到:
相关推荐
赠送jar包:osgi-resource-locator-1.0.1.jar; 赠送原API文档:osgi-resource-locator-1.0.1-javadoc.jar; 赠送源代码:osgi-resource-locator-1.0.1-sources.jar; 赠送Maven依赖信息文件:osgi-resource-locator...
maven-osgi-plugin-launcher-framework-equinox-1.0.15.jar
赠送jar包:osgi-resource-locator-1.0.1.jar; 赠送原API文档:osgi-resource-locator-1.0.1-javadoc.jar; 赠送源代码:osgi-resource-locator-1.0.1-sources.jar; 赠送Maven依赖信息文件:osgi-resource-locator...
maven-osgi-plugin-launcher-framework-equinox-1.0.19.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.18.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.17.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.16.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.14.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.13.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.12.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.11.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.10.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.9.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.8.jar
maven-osgi-plugin-launcher-framework-equinox-1.0.8b.jar
spring-osgi-1.2.1-with-dependencies.zip spring-osgi-1.2.1-with-dependencies.zip spring-osgi-1.2.1-with-dependencies.zip
"spring-osgi-1.2.0-rc1"是Spring OSGi的一个早期版本,"RC1"代表Release Candidate 1,意味着这是正式发布前的最后一个测试版本。在这个版本中,开发者可以期待一些新特性和改进,但同时也可能存在一些未发现的...
eclipse de osgi框架 equinox-SDK-3.6.1.part1
spring-osgi-core-1.2.1.jar spring-osgi-core-1.2.1-sources.jar spring-osgi-extender-1.2.1.jar spring-osgi-extender-1.2.1-sources.jar spring-osgi-io-1.2.1.jar spring-osgi-io-1.2.1-sources.jar spring-...
1. **环境准备**:安装一个支持OSGi的运行时环境,比如Apache Felix或Equinox,以及相应的集成开发环境(IDE),如Eclipse,它有一个内置的OSGi插件。 2. **创建bundle**:创建一个新的Java项目,并将其转换为OSGi ...