【发布时间】:2020-03-29 16:28:04
【问题描述】:
我是 Java OSGi 编程的新手。我正在创建一个名为 com.myManager 的新包,并将其添加到具有许多包的现有应用程序中。
我正在创建的这个包依赖于一个名为 jsoup-1.12.1 的外部 jar 文件,该文件用于解析 html 文件。我可以通过 eclipse 添加这个依赖项,并且我的包构建得很好。
但是,当我尝试将我的包添加到主 bndrun 应用程序时,我收到以下粘贴错误。不幸的是,我无法理解这里需要什么。
我想我们不能像我一样简单地添加外部 jar 文件吗?提前致谢。
Resolution failed. Capabilities satisfying the following requirements could not be found:
[<<INITIAL>>]
⇒ osgi.identity: (osgi.identity=com.myManager)
⇒ [com.myManager version=0.0.0]
⇒ osgi.wiring.package: (&(osgi.wiring.package=org.jsoup))
【问题讨论】:
-
OSGi 容器抱怨它无法解析您的新捆绑包所依赖的包
org.jsoup。您必须将 jsoup 库部署为一个包(如果它是这样打包的),或者将该库嵌入到您的包中。 -
@gioranv 将库嵌入到我的包中。我该怎么办?我已经将它添加到我的包中的 lib 文件夹中,并通过 Eclipse 将其配置为我的包的依赖项。谢谢
-
听从 Christian 的回答中的建议。幸运的是,现在大多数库都打包成包。
标签: java eclipse jar osgi osgi-bundle