簡體   English   中英

在Eclipse中編譯和運行OSGI應用程序

[英]Compiling and running an OSGI application in Eclipse

我們的企業應用程序的基礎是OSGI,我們有幾個邏輯上是OSGI包的Java項目。 我們使用Maven來編譯使用Maven Bundle插件的應用程序。 但是這個過程非常耗時,無法調試應用程序。 我們還使用Runner和Pax(:provison)插件來運行應用程序。 如果我們可以依賴Eclipse的Auto構建功能並調試應用程序,它將使我們的生活變得更加容易。 有沒有辦法配置Eclipse能夠編譯(並可能運行)基於OSGI的應用程序?

我不完全確定我是否了解你,但是這里有。

好吧,只要您的捆綁包駐留在PDE感知項目中或至少在您的目標平台上,運行/調試Eclipse中的OSGi應用程序非常簡單。

你有所有捆綁包的來源嗎? 沒有源代碼的調試並不是那么有用。 如果這樣做,您是否可以將捆綁包的所有源導入Eclipse工作區?

否則,您可以創建目標平台 ,將所有捆綁包添加到該平台。 (作為第一次嘗試,我會說將所有捆綁包轉儲到目錄中並指向目標平台)

無論哪種方式,那么你應該能夠運行(或調試) - > OSGi框架 - >新建 - >選擇你的捆綁 - >開始

您可以從平台和目標平台中選擇捆綁包。

對於構建,您可以使用Eclipse插件開發環境(PDE) 盡管它的名稱,它並不特定於構建Eclipse插件,可用於處理純OSGi包。 Eclipse插件是帶有一些附加功能的OSGi包。

雖然我知道一些面向企業的OSGi平台提供了對PDE的擴展,但無法幫助您運行或調試部分。

如果你已經在使用maven bundle插件,你可能會發現PDE的manifest-first方法不適合你現有的代碼優先構建(我假設最后你想要一個用於開發和調試的IDE構建,以及用於持續集成和自動化測試的命令行構建。

你有兩個選擇。 正如其他人所建議的那樣,您可以使用Eclipse的集成PDE,並使用Tycho進行maven構建。 Tycho使用PDE使用的相同數據,因此您不必多次寫下來。 或者,您可以堅持使用maven bundle插件並在Eclipse中使用bndtools。 與bundle插件一樣,bndtools是代碼優先的,所以你不必擔心維護清單。 但是,您可能會發現bndtools中的功能集並不像PDE中那么大,我建議您仍然手動檢查您的清單,以確保您了解正在生成的內容。 無論你喜歡清單優先還是代碼優先都是一個激烈的哲學辯論。

看看bndtools。 bndtools使用與maven bundle插件相同的bnd。 你甚至可以和m2e一起使用bndtools。 bndtools可從Eclipse市場購買。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM