2010-10-04 29 views
0

我已經爲我的RAP應用程序的目標平臺添加了一個插件。我可以毫無問題地參考它,而不會在處理項目時出現任何問題,並且編譯無誤地發生。該插件也顯示在我的構建路徑的插件依賴庫中。然而,當我運行應用程序,OSGi框架給了我exceptionA添加到目標的Eclipse rcp插件可以在編譯時解析,但不能運行時

org.osgi.framework.BundleException: The bundle "ate_rap_1.0.0.qualifier [98]" could not 
be resolved. Reason: Missing Constraint: Require-Bundle: com.richclientgui.rcptoolbox; 
bundle-version="0.0.0" 

如何添加一個插件,這樣我可以用我的應用程序中使用它?

回答

0

首先,在使用OSGi時不要使用插件依賴項。 OSGi不知道你在IDE中的那些依賴關係,它只關心一個包在它的捆綁包清單中定義的依賴關係。因此,您必須在MANIFEST.MF(依賴項選項卡)中定義依賴項。

其次,您必須將此捆綁包添加到您的啓動配置中。在Eclipse中,運行... - >運行配置...選擇你的啓動配置,進入Bundles選項卡,並檢查你的附加插件。在啓動之前,點擊Bundles選項卡中的「Validate Bundles」。

0

您的應用是否由PDE構建而成feature?如果是這樣,您可能需要將新插件添加到主要功能中包含的插件列表中。

+0

不幸的是,該應用程序是一個非常簡單的RAP應用程序,從RAP與View模板構建而成。 – Zoe 2010-10-04 20:36:58

0

要將插件添加到基本RAP應用程序,請選擇文件 - >新建 - >其他,然後在嚮導中,從現有Jar存檔中選擇插件開發 - >插件。這將創建一個託管該插件的項目,該項目可能會添加到構建路徑中。添加到構建路徑後,將此插件添加爲MANIFEST.MF中的依賴項。最後,在應用程序的運行配置中,選擇Bundles選項卡,並確保選中要添加的bundle。這很容易通過「添加必需的軟件包」按鈕完成。現在該項目應該在Eclipse中運行。

相關問題