发布的OSGI服务是否需要导出其包?
是否需要导出包含OSGI服务的包才能发布到服务注册表?或者发布到服务注册中心是否可以避免导出包的需要 服务的类型应在导出包中。服务是类型化的,并建立在模块层的类型共享之上。因此,您需要确保服务的提供者和服务的使用者都可以共享相同的类型。因此,某些捆绑包必须导出包含该类型的包,以便提供者和使用者可以导入该包。这允许框架验证服务的类型安全性。服务的类型应在导出包中。服务是类型化的,并建立在模块层的类型共享之上。因此,您需要确保服务的提供者和服务的使用者都可以共享相同的类型。因此,某些捆绑包必须导出包含该类型的包,以便提供者和使用者可以导入该包。这允许框架验证服务的类型安全性。简短回答;第一个问题=否,第二个问题=否,没有“变通办法” “合同设计”原则开始发挥作用。基本上,我们为消费者提供了一个可依赖的接口,为提供者提供了可实现的接口——这使消费者代码与实现者的实现细节分离。请参阅,以了解详细的概述和说明 考虑到接口(我们希望使用的API)和实现(API接口的具体实现)以及使用者(希望使用接口实现的代码),使用OSGi您有很多选择发布的OSGI服务是否需要导出其包?,osgi,Osgi,是否需要导出包含OSGI服务的包才能发布到服务注册表?或者发布到服务注册中心是否可以避免导出包的需要 服务的类型应在导出包中。服务是类型化的,并建立在模块层的类型共享之上。因此,您需要确保服务的提供者和服务的使用者都可以共享相同的类型。因此,某些捆绑包必须导出包含该类型的包,以便提供者和使用者可以导入该包。这允许框架验证服务的类型安全性。服务的类型应在导出包中。服务是类型化的,并建立在模块层的类型共享之上。因此,您需要确保服务的提供者和服务的使用者都可以共享相同的类型。因此,某些捆绑包必须导出包
需要记住的一点是,使用者和提供者必须使用包版本和导出捆绑包定义的相同类(换句话说,加载API类的捆绑包类加载器对于使用者和提供者都必须相同)。简短回答;第一个问题=否,第二个问题=否,没有“变通办法” “合同设计”原则开始发挥作用。基本上,我们为消费者提供了一个可依赖的接口,为提供者提供了可实现的接口——这使消费者代码与实现者的实现细节分离。请参阅,以了解详细的概述和说明 考虑到接口(我们希望使用的API)和实现(API接口的具体实现)以及使用者(希望使用接口实现的代码),使用OSGi您有很多选择