Eclipse插件项目与其他项目依赖项

我有一个Eclipse插件项目,它依赖于我在Eclipse工作区中的其他项目。 在“Java Build Path” – >“Projects”选项卡下添加项目依赖项,并在“Order and Export”中选择项目后,我得到一个java.lang.NoClassDefFoundError。

我假设其他项目没有正确地包含在插件中。 有谁知道如何解决这一问题?

谢谢,詹姆斯

Eclipse插件项目以不同于常规Java项目的方式管理依赖项。

我假设您正在使用.class文件添加包。

在Eclipse插件项目中定义库文件夹。 将任何外部类和/或jar复制到库文件夹。

打开META-INF目录下的MANIFEST.MF文件。 你会看到一个格式化的编辑器,底部有8个标签。

单击“运行时”选项卡。 将库文件夹中的外部类和/或jar添加到Classpath。 这也将这些外部类和/或jar添加到项目的Java Build Path中。

单击Dependencies选项卡,然后在Imported Packages对话框中添加其他Java项目。 您必须选中标记为“显示未导出的包”的框。 如果您的其他Java项目是Eclipse插件,请将它们添加到Required Plug-ins下。

如果您无法将依赖项目复制到插件项目中,并且您确定要在其中安装插件的目标eclipse中存在依赖项目,那么您可以使用Runtime.exec()运行要运行的Java类或运行该类的ProcessBuilder类。

喜欢这个:

 // To compile Process p = Runtime.getRuntime().exec("javac yourclass.java"); // To execute Process p2 = Runtime.getRuntime().exec("java yourclass"); 

在最坏的情况下可以考虑这一点。 我有这样的经历,因此有些人认为它有用。