gpt4 book ai didi

java - 将外部 jar 文件添加到 OSGi 应用程序会导致问题

转载 作者:行者123 更新时间:2023-11-29 04:05:24 25 4
gpt4 key购买 nike

我是 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))

最佳答案

到目前为止,您只将 jsoup 添加到包的构建时间依赖项中。在您的包中使用 jsoup 然后在您的包 list 中创建一个导入包声明。这是预期的,不是问题。您看到的错误是,在您的应用程序的组装时间(当 bnd 创建 runbundles 列表时)您的存储库中没有可以提供此包的包。

Jsoup 已经是一个 OSGi 包。只需将它添加到您的应用程序包中即可。如何将 jsoup 添加到 bundle 取决于您如何组装应用程序。对于 eclipse pde,您可以将其添加到目标平台。对于 apache karaf,您可以将其添加到您的功能中。

对于使用 maven 构建的新 bndrun,您只需将 jsoup 添加到构建存储库的 pom 中。喜欢这个example .将 bundle 放在存储库中允许 bndtools 在需要时为您的应用程序选择 bundle 。

关于java - 将外部 jar 文件添加到 OSGi 应用程序会导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59183309/

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