我即將開始編寫一個我想在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會自動拉動;但是,如何構建可分發的包? - 在我的情況下,我需要假定目標安裝*不具有相同的配置存儲庫配置。 –