2011-08-26 42 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中完成

相关问题