我們的企業應用程序的基礎是OSGI,並且我們有幾個邏輯上爲OSGI捆綁包的Java項目。我們使用Maven來使用Maven Bundle插件來編譯應用程序。但是這個過程非常耗時,並且無法調試應用程序。我們還使用Runner和Pax(:provison)插件來運行應用程序。如果我們可以依靠Eclipse的自動構建功能並調試應用程序,它會讓我們的生活變得更加輕鬆。有沒有辦法將Eclipse配置爲能夠編譯(並且可以運行)基於OSGI的應用程序?在Eclipse中編譯和運行OSGI應用程序
回答
我不完全確定,如果我瞭解你,但是這裏。
那麼,只要你的軟件包駐留在PDE感知項目中,或者至少在你的目標平臺上運行/調試Eclipse中的OSGi應用程序非常簡單。
您是否有所有捆綁包的來源?沒有源代碼的調試並不是那麼有用。如果你這樣做,你能把你的bundle的所有源碼導入到你的Eclipse工作區嗎?
否則,您可以創建一個target platform,將所有捆綁包添加到該目錄。 (作爲第一次嘗試,我會說轉儲所有你的捆綁包在一個目錄中,並指向目標平臺)
無論哪種方式,那麼你應該能夠運行(或調試) - > OSGi框架 - >新 - >選擇你的軟件包 - >開始
你們都可以從工作區或目標平臺中選擇軟件包。
對於建築物,您可以使用Eclipse Plugin Development Environment (PDE)。儘管它的名字,它並不特定於構建Eclipse插件,並可用於純OSGi捆綁包。 Eclipse插件是一些額外的OSGi包。
雖然我知道一些面向企業的OSGi平臺爲PDE提供了擴展,但無法幫助您運行或調試部分。
如果您已經在使用maven bundle插件,您可能會發現PDE的manifest-first方法不適合您現有的代碼優先構建(我假設最終您希望IDE build爲開發和調試,以及用於持續集成和自動化測試的命令行構建)。
你有兩種選擇。正如其他人所建議的那樣,您可以使用Eclipse的集成PDE,並將Tycho用於Maven構建。 Tycho使用PDE使用的相同數據,因此您不必多次寫下任何東西。或者,您可以使用maven bundle插件並在Eclipse中使用bndtools。和bundle插件一樣,bndtools是代碼優先的,所以你不需要擔心維護manifest。但是,您可能會發現bndtools中沒有PDE中那麼多的功能,我建議仍然手動檢查您的清單,以確保您瞭解正在生成的內容。無論你喜歡先清單還是先碼先,都是一場激烈的哲學辯論。
看看bndtools。 bndtools使用與maven bundle插件相同的bnd。你甚至可以使用bndtools和m2e。 bndtools可從Eclipse市場獲得。
- 1. 在Eclipse中運行/調試OSGi應用程序
- 2. 如何在Eclipse的Maven項目中編譯和運行Java應用程序?
- 3. 應用程序無法在Android Studio中編譯和運行
- 4. 在編譯和運行Android應用程序時出現Eclipse錯誤
- 5. 從Eclipse運行OSGi應用程序時發生JVM_Bind
- 6. 如何使用Eclipse for mac編譯和運行C++程序?
- 7. 如何從Eclipse中編譯和運行C++程序?
- 8. OSGi Web應用程序未運行
- 9. 用Vim編譯和運行C++程序
- 10. 在eclipse中運行ant應用程序
- 11. 在Eclipse中運行Web應用程序
- 12. 在Eclipse中運行Android應用程序
- 13. 在Eclipse中運行ATG應用程序
- 14. Eclipse - 編譯和執行程序
- 15. 在應用程序編譯過程中運行qcollectiongenerator
- 16. 如何在Eclipse中編譯Java程序而不運行它?
- 17. 編譯並運行Java應用程序中的C++程序
- 18. 使用OSGi Eclipse RCP應用程序
- 19. 從Eclipse導出OSGI-應用程序
- 20. 在Linux中運行/編譯Android應用程序
- 21. 在Web應用程序中運行的編譯目標C
- 22. 如何編譯和運行Java程序?
- 23. 如何運行和編譯java程序?
- 24. 編譯和運行一個Qt程序
- 25. 在其他運行時編譯程序集Rreference運行時編譯程序集
- 26. 應用程序運行在Eclipse
- 27. 編譯並運行程序
- 28. 問題編譯和運行與Bluecove(NoClassDefFoundError的)Java應用程序
- 29. 如何正確編譯和運行Windows窗體應用程序
- 30. 編譯和運行應用程序穿梭
哦,你確實需要使用PDE進行Eclipse安裝,忘了提及這一點。 –