我即将开始编写一个我想在OSGi容器中运行的应用程序,例如Virgo。处女座的核心平台提供了许多我感兴趣的依赖项,比如Spring框架,但我也想使用Spring Integration。 Spring Integration的jar是可以随时使用的OSGi包,可以在Ivy存储库中与我一起使用,还可以使用其他许多第三方依赖项。管理OSGi包依赖关系的正确过程是什么?
要告诉我的包依赖于OSGi容器,比如Spring集成,我需要相关的软件包或捆绑添加到我的清单 - 我知道如何做到这一点,并了解如何工作的。
我想了解的是如何针对,解决,构建并最终部署可用于某种存储库(最好是Ivy)的第三方软件包。在过去,我已经在两个方面做到了这一点:
- 添加依赖到目标平台,或者在这种情况下,处女座的转库
- 保持相关性的副本,我的工作区,将其导出作为构建的一部分
这些解决方案都不具备可扩展性或特别优雅。
我有兴趣使用Virgo 3.0.0或Equinox,我的开发环境是Eclipse,如果不同的OSGi容器或开发环境会让我的生活更轻松,我很乐意切换。
为了使这个晶莹剔透,我想知道:
- 如何在外部资源库开发针对OSGi包(例如束住在常青藤)?
- 如何构建和部署我的包及其所需的外部依赖关系?
我认为这符合我对开发的需求,因为我可以配置我的本地处女座安装指向我的常春藤回购,并且当我在本地运行时,Spring Int deps会自动拉动;但是,如何构建可分发的包? - 在我的情况下,我需要假定目标安装*不具有相同的配置存储库配置。 –