Java OSGi服务未实现接口

Java OSGi服务未实现接口,java,osgi,Java,Osgi,我正在做一个使用OSGi的项目,它有以下代码 @Component(policy = ConfigurationPolicy.OPTIONAL, ds = true, immediate = true, metatype = false) @Service(TestInterface.class) public class TestInterface{ 这里的代码没有实现服务将在其中公开的接口。此外,我已经在所有地方验证了@Reference没有引用这一点。 它真的需要将其作为服务而不是仅仅作

我正在做一个使用OSGi的项目,它有以下代码

@Component(policy = ConfigurationPolicy.OPTIONAL, ds = true, immediate = true, metatype = false)
@Service(TestInterface.class)
public class TestInterface{
这里的代码没有实现服务将在其中公开的接口。此外,我已经在所有地方验证了@Reference没有引用这一点。 它真的需要将其作为服务而不是仅仅作为组件吗?如果我想在另一个组件中使用它,我必须通过实现接口将其作为服务。
OSGI是否真的要求要公开的服务应该实现接口?

OSGI服务可以在任何类型名称下注册,而不仅仅是接口。强烈建议使用接口,因为它们很好地将实现类与服务的使用者分开

声明性服务中没有@Service。您使用哪种类型的注释?felix scr注释@Service注释来自何处?@ChristianSchneider,这是的链接。在我的一个项目中,有一个类似的服务没有接口,工作正常。