NoClassDefFoundError:org / eclipse / search / ui / text / TextSearchQueryProvider

时间:2018-09-06 17:57:06

标签: eclipse eclipse-plugin

我正在为Eclipse编写插件。呼叫TextSearchQueryProvider sqProvider = TextSearchQueryProvider.getPreferred();时,我得到一个NoClassDefFoundError

有趣的是,我只在导出的jar插件上得到它,而不是在调试插件时得到。我认为,这可能与导出org.eclipse.search插件有关,但是该插件是如此基础,以至于没有它,eclipse就无法运行。所以我想插件应该在那里。

我正在运行蚀光子(4.8.0)。

更多说明: 我在org.eclipse.search中将MANIFEST.MF指定为依赖项:

Require-Bundle: javax.inject,
 org.eclipse.search;bundle-version="3.0.0";visibility:=reexport,
 ....

我已导入org.eclipse.search.ui.text.TextSearchQueryProvider

我需要做其他我不知道的事情吗?

添加: 与插件相关的视图没有显示任何明显的问题。 具体来说,版本“ 3.11.200.v20180503-1856”满足了“ org.eclipse.search”的依赖性,对我而言,这意味着插件已成功链接?

1 个答案:

答案 0 :(得分:0)

在我用另一个版本的后缀导出插件后,问题消失了。 我最初将postfix称为“ beta”。给它加上日期后缀后, 依赖关系树似乎正常工作。可能是原始软件包是错误的,并且在清单中配置错误,并且只有在使用其他名称重新导出后,才能正确地重新评估pacakge依赖项。