没有指定包

时间:2011-07-18 07:13:34

标签: java eclipse osgi

Iam在eclipse(Equinox)中使用OSGi框架工作来开发一些应用程序。实际上我是OSGi框架的新手。虽然我试图在eclipse中使用start commant(osgi> start)运行程序'没有捆绑特定'正在显示。使用commant(osgi> ss)检查框架是否已安装时显示消息“框架已关闭”。我还包括Equinox的jar文件(org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar) 。下面是代码

package testosgi;

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

public class Activator implements BundleActivator {

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

    /*
     * (non-Javadoc)
     * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
     */
    public void stop(BundleContext context) throws Exception {
        System.out.println("Goodbye java World!!");
    }

}

1 个答案:

答案 0 :(得分:2)

首先,我假设你在Eclipse中创建插件/ bundle并在“作为eclipse应用程序运行时”进行测试。这将打开一个“运行时eclipse”,其中启用了工作区捆绑(您在主日食中安装的那些以及您在工作区中自己创建的那些)。

start命令应该接收一个包含名称的参数,如

start my-bundle

这就是为什么你得到“没有指定捆绑!”。 更简单的视图是Eclipse中的“插件注册表”视图(alt + shift + q,q - >类型插件 - >选择插件注册表) 在长列表中找到您的包(有一个过滤器框)。

  1. 插件图标上是否有绿色的“播放”图标? 如果有,请检查您的控制台“Hello World!”应该已经打印出来了。

  2. 没有箭头? 右键单击该图标,然后选择“显示高级操作”。再次右键单击并选择“开始”。那应该是你的激活剂。

  3. 基本上Eclipse不运行插件的激活器,直到某些其他软件包实际需要它。当插件中有UI贡献时,则需要其中一个类并且激活器运行,如果没有,则必须手动运行它,或者尝试从其他一些捆绑包中使用它。

    只是为了确保打开plugin.xml并转到Overview选项卡。 确保选中“加载其中一个类时激活此插件”。