(免责声明:以下两种情况都不属实:(1)Java是我的专长,(2)我是插件开发方面的专家。)
我的Eclipse插件项目包含5个插件。其中2个编译得很好。 3不包含org.eclipse.swt.widgets
或org.eclipse.swt.graphics
包中的类的依赖项。 (非常烦人的)编译时错误消息是:
The type org.eclipse.swt.widgets.Control cannot be resolved.
It is indirectly referenced from required .class files.
现在,我已经使用细齿梳子在这个工作区上了。我已检查并重新检查以下内容:
我用Google搜索并堆叠溢出,直到我的眼睛流血。没有一个典型的建议似乎有所帮助。
但是,我确定,通常的事实将证明是这样的。 (在所有条件相同的情况下,答案通常都是简单,愚蠢,非常明显。)有人可以提出一些我尚未看过的内容吗?我非常愿意提供您可能需要的任何信息。
P.S。我可能会注意到 way 有太多的地方需要配置插件的依赖项吗?好极了moogly。
答案 0 :(得分:7)
目标平台与您环境中可用的swt插件之间存在脱节。
“目标环境”中的字段将用于加载您的swt插件。未填写的任何字段将默认为当前环境检测到的值。
在你的情况下,你有一个win32.x86 swt jar。如果您在64位窗口上运行,并且Architecture字段为空,则不会加载32位swt jar。您有两种方法可以解决任何差异:
答案 1 :(得分:1)
这基本上意味着它是一个间接不满意的依赖:你正在使用的库中的类需要一些其他类在类路径上:)
现在我不知道你如何管理你的依赖关系(maven或手动),但作为一个起点你可以使用jarfinder.com找到并下载必要的库,如果你还没有它: http://www.jarfinder.com/index.php/java/info/org.eclipse.swt.widgets.Control
如果你正在使用Maven,你应该查看日志,因为它试图下载所有必需的库,包括依赖项。因此,如果出现任何问题,它应该在日志中指出连接问题或由于其他原因而无法下载人工制品。
答案 2 :(得分:1)