我即将开始处理我想在 OSGi 容器中运行的应用程序,例如 Virgo 。 Virgo 的核心平台提供了许多我感兴趣的依赖项,例如 Spring Framework,但我也想使用 Spring Integration。 Spring Integration 的 jar 包是现成的 OSGi 包,我可以使用它以及 Ivy 存储库中的许多其他第三方依赖项。
为了告诉 OSGi 容器我的包依赖于 Spring Integration,我需要将相关的包或包添加到我的 list 中——我知道如何做到这一点并理解它是如何工作的。
我想了解的是如何针对某种存储库(最好是 Ivy)中可用的第三方包进行开发、解析、构建和最终部署。过去,我通过两种方式实现了这一点:
这些解决方案似乎都没有可扩展性或特别优雅。
我对使用 Virgo 3.0.0 或 Equinox 感兴趣,我的开发环境是 Eclipse,如果不同的 OSGi 容器或开发环境会让我的生活更轻松,我很乐意切换。
为了清楚地说明这一点,我想知道:
最佳答案
您可以定义外部 Virgo 存储库以指向 Ivy 存储库的本地副本,如 Virgo 用户指南“配置本地供应存储库”下所述。当 Virgo 从 Eclipse 启动时,也可以使用这个存储库。
请注意,我们正在为 Virgo 3.5 进行 p2 集成,这将为您提供一些进一步的选择。
关于osgi - 管理 OSGi 包依赖的正确过程是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7575048/