2012-06-13 121 views
6

根據此post,IDEA使用Osmorc來運行OSGi框架。它反過來使用Pax Runner來啓動不同的框架實現。在IntelliJ IDEA中運行Apache Felix 4.0.2 11

IDEA 11中的工具鏈只能運行最高3.0.2的Apache Felix,但我必須運行4.0.2版本。可能嗎? IDEA還有其他OSGi框架啓動器嗎?

+0

我從來沒有滿足於IDEA 10 osmorc,所以我結束了只需將org.apache.karaf.main.Bootstrap.main()作爲常規Java應用程序啓動即可。這種方法工作得很好,除了你不能依賴IDE的編譯按鈕。 –

回答

6

您可以配置Osmorc從插件+項目設置中使用的OSGI框架。 我使用IntelliJ IDEA 11.1.2和Osmorc 1.4.2。

下面是一個截圖,我將OSGI容器(在IDE Settings - > OSGi)配置爲安裝Apache Felix 4.0.1的本地 。

OSGi Framework Definiton

您也可以定義自定義的框架/容器,然後選擇所需的 OSGi框架在項目設置使用 - >如下所示OSGI:

OSGi Framework selection

爲了要創建運行配置,首先需要創建一些OSGi構面。 希望你也使用maven和maven-bundle-plugin,這將極大地減少你需要做的配置的數量(因爲OSmorc會自動與你的pom.xml同步),但即使你不這樣做,你也可以手動編輯用於創建捆綁的信息。

所以,你需要做的下一步是創建一些OSGi方面。轉到項目「Structure - > Facets」 ,併爲您希望創建的每個包添加一個新的OSGi構面。它啓用了自動檢測功能,那麼可能已經有了這些方面。如果沒有,那麼手動添加它們,然後按照您認爲合適的方式配置它們,如下例所示。

Intellij IDEA OSGi Facet Configuration

最後編輯你的「運行配置」,並添加新的OSGi運行配置。 選擇要使用你想開始以及其他 參數,如下面的示例框架和包:

Intellij IDEA OSGi Run Configuration

+0

如何在配置框架後運行OSGi包? – frm

+0

如上一步所示,創建一個運行配置。使用添加按鈕,您可以添加要運行的軟件包。他們在表中顯示,你可以選擇他們的開始水平。最後,使用IntelliJ-Toolbar中運行配置彈出窗口旁邊的「播放」或「調試」按鈕開始運行配置。 –

+2

我知道這是一箇舊的答案,但按照這些步驟,當我運行IntelliJ給出錯誤「控制檯請求,但沒有shell包可以找到」 – Vallentin