class 嵌入到 OSGI 包中可以是一个组件吗?
can class embedded into OSGI bundle be a component?
我有一个 OSGI 包。该捆绑包嵌入(使用)一个包含一个 class 的 jar。这个嵌入式 class 可以是 OSGI 组件吗?我尝试用@Component 注释它,但它不起作用。
运行时的声明式服务只需要:
- class 可由捆绑包加载,并且
- XML 描述符包含在包中的任何位置,并通过
Service-Component
in MANIFEST.MF
. 引用
所以是的,嵌入在包内的 JAR 中的 class 可以是一个组件。 JAR 必须列在 Bundle-ClassPath
中并且描述符必须存在于捆绑包 JAR 中。
话虽如此,这是一个奇怪的要求。为什么要将组件嵌入包中的 JAR 中,而不是直接将它们放入包中?组件是您的包的入口点。
我有一个 OSGI 包。该捆绑包嵌入(使用)一个包含一个 class 的 jar。这个嵌入式 class 可以是 OSGI 组件吗?我尝试用@Component 注释它,但它不起作用。
运行时的声明式服务只需要:
- class 可由捆绑包加载,并且
- XML 描述符包含在包中的任何位置,并通过
Service-Component
inMANIFEST.MF
. 引用
所以是的,嵌入在包内的 JAR 中的 class 可以是一个组件。 JAR 必须列在 Bundle-ClassPath
中并且描述符必须存在于捆绑包 JAR 中。
话虽如此,这是一个奇怪的要求。为什么要将组件嵌入包中的 JAR 中,而不是直接将它们放入包中?组件是您的包的入口点。