gpt4 book ai didi

java - 包装 jar 的 OSGi 服务

转载 作者:行者123 更新时间:2023-12-02 00:55:31 24 4
gpt4 key购买 nike

我正在尝试创建一个包装另一个 jar 的 OSGi 服务。我将 jar 添加到项目、类路径和二进制构建中。我在 Activator 中注册了该服务,但是当使用包调用该服务时,我在包装器 jar 上收到 java.lang.NoClassDefFoundError 。有谁知道我在这里做错了什么?

提前致谢。

最佳答案

您是否导出消费者所需的包以及实现所需的所有包。消费者将需要导入将引用的所有内容。

顺便说一句,以这种方式创建 bundle 在 Eclipse 中不太适合开发(对于运行时来说效果很好)。如果您尝试从另一个 OSGi 项目引用 jar 中的类或接口(interface),IDE 将不会解析任何内容,因为它无法“查看”jar 中的文件。必须在 bundle 内扩展 jar,以便所有内容都可见(在 IDE 内)。 Eclipse 根据构建目的的导入和导出自动创建适当的类路径引用。如果 bundle 中没有 jar 文件,您将必须显式维护此类路径。

关于java - 包装 jar 的 OSGi 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/762721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com