Eclipse插件无法从类文件夹中找到类

时间:2013-08-20 08:45:20

标签: java eclipse eclipse-pde

我正在开发一个Eclipse插件,并希望使用一些预先编译的类,我已将这些类放到项目中的lib/文件夹中(因此目录结构看起来像{ {1}})。然后我将{proj_root}/lib/com/example/Required.class文件夹作为类文件夹添加到项目的构建路径中。在构建时,一切正常,我可以在我的代码中导入和使用这些类。现在问题是,当我在单独的Eclipse实例中运行我的插件时,我的插件引用lib/引用预编译类文件夹中的类。

我尝试在“在构建路径设置中订购并导出“选项卡”。另外,我尝试在ClassNotFoundException文件夹前面的插件的build.properties GUI编辑器中设置复选框,以包含在二进制构建中。在这种情况下,如果我将我的插件导出到JAR,我可以使用我的类文件在其中看到lib/文件夹,但在运行时,我的插件仍无法找到lib/中的任何类。

你能不能请给我一个建议,告诉我如何告诉Eclipse在运行时在哪里找到这些类?
PS:

  1. 我就此问题研究了stackoverflow,但所有建议都是一样的:只需在项目的Build路径中添加class文件夹即可。
  2. 此时在插件的build.properties文本编辑器中,eclipse显示警告lib/并建议对代码进行此修改: The class folder 'lib/' is not associated to any output library entry.。我已经尝试过这个解决方案,但似乎没有改变这个问题。

1 个答案:

答案 0 :(得分:7)

这听起来非常像您已将lib文件夹添加到插件项目的“Java Build Path”属性页面。

但是......对于插件项目,这不起作用,因为它们是OSGi包 - 您必须在“运行时”页面的PDE编辑器中包含lib文件夹:

Classpath description for OSGi