Java 具有其他项目依赖项的Eclipse插件项目

Java 具有其他项目依赖项的Eclipse插件项目,java,eclipse,eclipse-plugin,dependencies,Java,Eclipse,Eclipse Plugin,Dependencies,我有一个Eclipse插件项目,它取决于我在Eclipse工作区中的其他项目。在“Java Build Path”->“Projects”选项卡下添加项目依赖项,并在“Order and Export”中选择项目后,我得到一个Java.lang.NoClassDefFoundError 我假设其他项目没有正确地包含在插件中。有人知道如何解决这个问题吗 谢谢, JamesEclipse插件项目管理依赖项的方式不同于常规Java项目 我假设您正在添加带有.class文件的包 在Eclipse插件项目

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

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

谢谢,
James

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

我假设您正在添加带有.class文件的包

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

打开META-INF目录下的MANIFEST.MF文件。您将看到底部有8个选项卡的格式化编辑器

单击Runtime选项卡。将库文件夹中的外部类和/或JAR添加到类路径。这还会将这些外部类和/或JAR添加到项目的Java构建路径中


单击Dependencies选项卡,并在ImportedPackages对话框中添加其他Java项目。您必须选中标有“显示未导出的包”的框。如果您的其他Java项目是Eclipse插件,请将它们添加到必需的插件下。

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

像这样:

// To compile
Process p = Runtime.getRuntime().exec("javac yourclass.java"); 
// To execute
Process p2 = Runtime.getRuntime().exec("java yourclass");
在最坏的情况下可以考虑这一点。
我有过这样的经历,因此认为有些人可能会觉得它很有用。

我尝试在“导入的包”部分添加包,但在“包选择”对话框的其他项目中找不到包。在此之前我需要做些什么吗?对不起,我已经有一段时间没有创建新的Eclipse插件项目了。我更新了我的答案,增加了更多的说明。吉尔伯特:你能澄清一下你的说明吗?我通过项目->Java构建路径->库->添加类文件夹添加了二进制文件,然后在插件的依赖项选项卡上导入了包。现在,我在Manifest.MF文件中导入的包出现了“无可用捆绑包导出包'x'”错误。我错过什么了吗?@Todd:我换电脑那天你抓到我了。我应该在另一天左右让Eclipse工作空间正常工作。听起来你所做的应该有用。@Gilbert:谢谢你的快速回复。您似乎无法将工作区中另一个项目的文件夹添加到插件的类路径(使用运行时选项卡),因为对话框的根目录是插件的项目文件夹。请注意,“将外部类添加到类路径”是什么意思?我的理解是:将另一个项目的bin输出文件夹添加到类路径。不过,这种解释可能只是一厢情愿。我正在使用EclipseHeliosSR1。