2011-08-26 34 views
2

我有一個Eclipse RCP插件項目,當所有代碼都在一個項目中時,它可以工作。有3個包,我想在另一個RCP插件中使用這些包之一。因此,我決定將這個軟件包移到另一個可以成爲RCP工作區的一部分的項目中。我在「Java build path」 - >「Projects」中包含第二個項目,並且在第二個項目的「Order and Export」中有一個「 - 」(它不會允許我改變這個)在第二個項目中加載類時發生java.lang.NoClassDefFoundError

當調試該插件在第二個項目的類中給出「java.lang.NoClassDefFoundError」。我無法弄清楚如何將兩個項目連接在一起。可以另外請指教。

回答

0

在依賴插件中,打開META-INF/MANIFEST.MF,通過打開方式...> Plug-in Manifest Editor。在依賴關係選項卡上,確保您的新插件列在依賴關係中。

然後,在您的啓動程序和* .products中,尋找一個標記爲的按鈕添加所需的插件。按下。確認您的新插件已添加。

+0

新插件現在列在「Dependencies」 - >「必需的插件」中(但不在導入的包中 - 因爲它只是如果設置了可選標誌,則工作),當按下「啓動器 - >」插件中的「添加必需插件」按鈕時,該軟件包將被列出但未被檢查。同樣的NoClassDefFoundError被給出在啓動器中檢查新包)。 – Phil

1

我設法解決了連接兩個項目的問題。 (1)在第二個項目的manifest.mf - > Dependencies中爲第一個項目添加一個依賴項,在「Required plugins」和「Imported packages」下添加對第一個項目的引用項目(2)在啓動器的「添加所需插件」部分檢查項目...您必須從第一個項目導出必要的軟件包。這在manifest.mf - > Runtime - > Exported packages中完成

相關問題