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

NoClassDefFoundError:org/eclipse/search/ui/text/TextSearchQueryProvider,eclipse,eclipse-plugin,Eclipse,Eclipse Plugin,我正在为eclipse编写一个插件。调用TextSearchQueryProvider sqProvider=TextSearchQueryProvider.getPreferred()时,我得到一个NoClassDefFoundError 有趣的是,我只在导出的jar插件上得到这个,而不是在调试插件时。我想,这可能与导出org.eclipse.search-插件有关,但该插件非常基本,没有它eclipse就无法运行。所以我想插件应该在那里 我正在运行EclipsePhoton(4.8.0) 还

我正在为eclipse编写一个插件。调用
TextSearchQueryProvider sqProvider=TextSearchQueryProvider.getPreferred()时,我得到一个
NoClassDefFoundError

有趣的是,我只在导出的jar插件上得到这个,而不是在调试插件时。我想,这可能与导出
org.eclipse.search
-插件有关,但该插件非常基本,没有它eclipse就无法运行。所以我想插件应该在那里

我正在运行EclipsePhoton(4.8.0)

还有一些澄清: 我已在
MANIFEST.MF
中将
org.eclipse.search
指定为依赖项:

Require-Bundle: javax.inject,
 org.eclipse.search;bundle-version="3.0.0";visibility:=reexport,
 ....
我已经导入了
org.eclipse.search.ui.text.TextSearchQueryProvider

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

补充: 插件相关视图没有显示任何明显的问题。
具体来说,“org.eclipse.search”-依赖关系通过版本“3.11.200.v20180503-1856”得到满足,这对我来说意味着插件已经成功链接?

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

MANIFEST.MF中是否确实有
必需的包
-应该是
必需的包
(第二行开头应该有一个空格)。你说得非常正确。我没有复制字符串,只是重新键入了它(很糟糕)。字符串如您所述。我相应地修改了该问题。控制台中是否有任何错误输出?遗憾的是,日志除了subversion问题之外没有发现任何问题,这似乎是无关的。我正在尝试使用插件相关视图进行调试