如何在不同的OSGi包中实现接口?

时间:2017-02-15 09:56:45

标签: java osgi bundles

我刚刚开始,我认为这是一个基本的问题,我甚至无法在网上找到任何关于它的信息,但我无法解决这个问题。

我有两个单独的捆绑包,一个是API,另一个是Service捆绑包。在API包中的一个包中,我有一个名为" HelloAPI":

的接口
package com.example.osgi.api;

public interface HelloAPI {

    public void sayHello();

}

在服务包中,我有一个包含以下代码的类:

package com.example.osgi.service;

public class HelloImpl {

    implements HelloAPI {
        System.out.println("Hello World!");
    }
}

但是eclipse突出了" implements"关键字是:

令牌上的语法错误"实现",预期接口。

我无法看到我做错了什么,有人能指出我正确的方向吗?感谢。

1 个答案:

答案 0 :(得分:2)

我非常赞同这些评论 - 在解决更多高级主题(如模块化)之前,了解Java语言的基础知识至关重要。

供参考,这是您的界面的正确实现:

public class HelloImpl implements HelloAPI {
    public void sayHello() {
        System.out.println("Hello World!");
    }
}