2011-11-07 20 views
1

我在這裏遇到一個問題...我們的團隊正試圖將Eclipse Eclipse RCP項目移植到Web中,因此第一步是嘗試使用處女座來使用插件。我創建了所有正確的東西,但是當我嘗試使用擴展點(Eclipse概念)時,它在此調用中給我一個空指針異常:使用處女座中的eclipse擴展點

org.eclipse.core.runtime.Platform.getextensionregistry(); // null here

有沒有人有任何經驗來解決這個問題?

感謝,

湯姆

UPDATE

所以我有點進一步與此有關。我已經將org.eclipse ...註冊表包及其關聯包添加到存儲庫/ usr文件夾中,並且必須在啓動我的Web應用程序後手動登錄到控制檯才能啓動它。但是,這仍然是一個問題,因爲現在我的應用似乎沒有任何擴展點註冊。它可能是應用程序啓動的順序嗎? (即我必須先啓動註冊表包)?

+0

你期待什麼樣的擴展點可用?東西,它是由你的捆綁包或分機定義的。來自RCP的點數? –

+0

另外,在處女座,內核模式和用戶模式之間存在分離,這可能會導致擴展束無法看到你的包。 –

回答

1

第一步是將eclipse註冊表包綁定到用戶區域的初始工件上;在org.eclipse.virgo.kernel.userregion.properties,改變initialArtifacts到:

initialArtifacts=repository:plan/org.eclipse.virgo.kernel.userregion.blueprint,repository:plan 
/org.eclipse.virgo.web.tomcat,repository:configuration/org.eclipse.virgo.apps.repository,repository:plan/org.eclipse.virgo.management,repository:bundle/org.eclipse.equinox.registry 

這將至少確保登記插件可以同時被載入您的Eclipse插件。 我仍然在努力研究如何控制註冊表加載哪個plugin.xml以及觸發哪些內容。不知何故,某些eclipse運行時會掃描一些插件目錄,但如何在處女座中設置這個目錄對我而言仍然不清楚。