在IntelliJ Idea 12 里面使用OSGI -hello world

由于个人还是比较喜欢使用idea ,所以mark的内容也是用idea作为IDE的..这里只是简单的跑一个osgi的helloworld程序.至于osgi的理论性知识,可以到 http://developer.51cto.com/art/200909/154863.htm 查看.感觉写的很不错.

 

 

1 我使用的是equinox作为我的osgi framework ,所以,需要首先下载对应的 famework distribution.下载地址是

http://download.eclipse.org/equinox/  

我下载的版本为3.8.2,最后的目录结构为


在IntelliJ Idea 12 里面使用OSGI -hello world_第1张图片
 2 创建一个最简单的工程.


在IntelliJ Idea 12 里面使用OSGI -hello world_第2张图片
 3 创建 osgi-framework definitions .具体如下 .这个配置只需要一次.是IDE级别的.


在IntelliJ Idea 12 里面使用OSGI -hello world_第3张图片
 4 添加依赖,比较简单,看图就行..(这个图只是展示创建一个global 的lib依赖,还需要自己添加到工程里的,这个玩idea的应该都知道)


在IntelliJ Idea 12 里面使用OSGI -hello world_第4张图片
 

5 创建我们的 HelloWorldActivator.一个简单的java类而已.

package zhenghui.helloword;

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

/**
 * User: zhenghui
 * Date: 13-6-24
 * Time: 下午7:29
 */
public class HelloWorldActivator implements BundleActivator {
    @Override
    public void start(BundleContext context) throws Exception {
        System.out.println("Hello World Bundle started!");
    }

    @Override
    public void stop(BundleContext context) throws Exception {
        System.out.println("Hello World Bundle stop!");
    }
}

 6 在module 的属性OSGI中, 设置 Bundle Activator为 HelloWorldActivator , 名字自己随意填写一个.


在IntelliJ Idea 12 里面使用OSGI -hello world_第5张图片
 

7 在configurations 里新增一个osgi bundle


在IntelliJ Idea 12 里面使用OSGI -hello world_第6张图片
 

8 最后run就OK了.貌似我的容器中,自动帮我加载了N多的bundle啊.


在IntelliJ Idea 12 里面使用OSGI -hello world_第7张图片
 

 

你可能感兴趣的:(idea,intellij)