Eclipse插件对SWT类的依赖性未得到解决

时间:2010-12-21 09:58:04

标签: eclipse eclipse-plugin swt

我有一个使用一些swt对象的eclipse插件项目,例如 -

import org.eclipse.swt.widgets.Composite;

当我尝试将“目标平台”设置为“运行平台(活动)”进行编译时,它编译得很好,我不需要导入任何特定于swt的插件。

但是,我使用Eclipse 3.6.0创建了一个目标平台,如果我将其设置为活动平台,则只要使用了swt类,项目就会出现编译错误,无法解决它们。

我应该在哪个插件中添加依赖项来解决这些错误?

我尝试添加'org.eclipse.swt',但这似乎没有帮助。

3 个答案:

答案 0 :(得分:9)

我遇到了同样的问题。在我的情况下,我缺少依赖项,我让Eclipse为我找到插件。

在某个p2网站上找到该插件后,我在进度视图中看到了“重置目标平台”。

之后,很多插件被破坏了。检查目标平台(窗口 - >首选项 - >插件开发 - >目标平台 - >编辑),“架构”字段已从x86_64更改为x86

更改值并单击“完成”会再次重置TP并且错误消失。

答案 1 :(得分:6)

我明白了。我试图在64位操作系统上针对32位目标平台进行编译,因此在我从目标平台首选项手动设置过滤器之前,过滤器与SWT库不匹配。

答案 2 :(得分:-1)

对我来说,我需要将对应于SWT库的外部jar添加到我的构建路径中。此外,我需要添加特定于我的平台(Windows)。

我将以下jar添加到我的项目构建路径中:

$USER/.p2/pool/plugins/org.eclipse.swt_3.106.1.v20170926-0519.jar
$USER/.p2/pool/plugins/org.eclipse.swt_3.106.1.v20170926-0519.jar