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");
在最坏的情况下可以考虑这一点。 我有这样的经历,因此有些人认为它有用。