gpt4 book ai didi

java - 使用 Maven Bundle 插件进行 osgi 开发并设置依赖关系

转载 作者:行者123 更新时间:2023-11-30 04:44:12 30 4
gpt4 key购买 nike

我正在使用 maven (maven-bundle-plugin) 和 apache karaf 迈出 osgi bundle 开发的第一步。我的问题是:我如何导入另一个包的包?

如果我有两个 bundle A 和 B。假设 Bundle A 导出一个包“package.from.bundle.A”。我可以在 Bundle A 项目的 pom.xml 中声明这一点:

 ...
<instructions>
...
<Export-Package>
package.from.bundle.A*;version=${project.version}
</Export-Package>
<Import-Package>
*
</Import-Package>
</instructions>
...

但是我如何声明我想在 Bundle B 中使用该包?如果我只是将包名写在项目 B 的 pom 文件的 import-package 标记之间,这是行不通的...

 ...
<instructions>
...
<Export-Package>
</Export-Package>
<Import-Package>
package.from.bundle.A
</Import-Package>
</instructions>
...

maven如何知道这个包与哪个bundle项目相关?如何使用 Maven 使用 bundle 之间的依赖关系?

谢谢

最佳答案

maven bundle 插件在幕后使用 bnd,它使用字节码分析从编译的代码中追溯地计算出导入。包导出更多的是一个设计问题,这就是为什么需要明确指定它们。

您可以查看目标文件夹中生成的 list ,我建议您这样做,以确保您了解代表您执行的操作。

关于java - 使用 Maven Bundle 插件进行 osgi 开发并设置依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11479142/

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