Eclipse插件 - 无法解析Swing类引用

Mik*_*fer 2 java eclipse plugins

(免责声明:以下两种情况都不正确:(1)Java是我的专长,(2)我是插件开发的专家.)

我的Eclipse插件项目包含5个插件.其中2个编译得很好.不包括在类依赖的3 org.eclipse.swt.widgetsorg.eclipse.swt.graphics包.(非常烦人的)编译时错误消息是:

The type org.eclipse.swt.widgets.Control cannot be resolved. 
It is indirectly referenced from required .class files.
Run Code Online (Sandbox Code Playgroud)

现在,我用一把细齿梳子在这个工作区上.我已检查并重新检查以下内容:

  • 类路径.校验!(适当的JRE和JDK在Windows PATH上.)
  • 依赖.校验!(包括所有图书馆.)
  • 构建路径.校验!(使用正确的JRE,导入所有必需的库,构建顺序是正确的.)
  • 进口.校验!(是的.导入正确的库,如对话框中所示.)
  • 的Manifest.MF.校验!(仔细检查清单文件以确保路径正确.所有三个项目都引用同一个JRE中的同一文件.)
  • plugin.xml中.校验!(是的,文件很好.)
  • .ClassPath文件.校验!(这里也没问题.classpath文件都很好.)
  • build.properties文件.校验!(这里也没有惊喜.)

我用谷歌搜索并堆叠溢出,直到我的眼睛流血.没有一个典型的建议似乎有所帮助.

但我确信,通常的事实将证明是这样的.(在所有条件相同的情况下,答案通常都是简单,愚蠢,而且非常明显.)

有人可以建议一些我尚未看过的东西吗?我非常愿意提供您可能需要的任何信息.

PS我可能会注意到,有办法太多的地方寻找到配置插件的依赖?伟大的googly moogly.

lui*_*iss 7

目标平台与环境中可用的swt插件之间存在断开连接.

  • 在eclipse中,转到帮助 - >首选项 - >目标平台.
  • 选择目标平台,然后单击[编辑...].
  • 在对话框中,选择"环境"选项卡.

"目标环境"中的字段将用于加载您的swt插件.未填写的任何字段将默认为当前环境检测到的值.

在你的情况下,你有一个win32.x86 swt jar.如果您在64位窗口上运行,并且Architecture字段为空,则不会加载32位swt jar.您有两种方法可以解决任何差异:

  1. 安装eclipse平台包.它将包含所有平台的所有swt jar.
  2. 使"目标环境"字段与您可用的swt jar相匹配.