我正在开发一个Eclipse插件,并希望使用一些预先编译的类,我已将这些类放到项目中的lib/
文件夹中(因此目录结构看起来像{ {1}})。然后我将{proj_root}/lib/com/example/Required.class
文件夹作为类文件夹添加到项目的构建路径中。在构建时,一切正常,我可以在我的代码中导入和使用这些类。现在问题是,当我在单独的Eclipse实例中运行我的插件时,我的插件引用lib/
引用预编译类文件夹中的类。
我尝试在“在构建路径设置中订购并导出“选项卡”。另外,我尝试在ClassNotFoundException
文件夹前面的插件的build.properties GUI编辑器中设置复选框,以包含在二进制构建中。在这种情况下,如果我将我的插件导出到JAR,我可以使用我的类文件在其中看到lib/
文件夹,但在运行时,我的插件仍无法找到lib/
中的任何类。
lib/
并建议对代码进行此修改:
The class folder 'lib/' is not associated to any output library entry.
。我已经尝试过这个解决方案,但似乎没有改变这个问题。答案 0 :(得分:7)
这听起来非常像您已将lib
文件夹添加到插件项目的“Java Build Path”属性页面。
但是......对于插件项目,这不起作用,因为它们是OSGi包 - 您必须在“运行时”页面的PDE编辑器中包含lib
文件夹: