eclipse - NoClassDefFoundError:org/eclipse/search/ui/text/TextSearchQueryProvider
问题描述
我正在为 Eclipse 编写一个插件。打电话时TextSearchQueryProvider sqProvider = TextSearchQueryProvider.getPreferred();
,我得到一个NoClassDefFoundError
。
有趣的是,我只在导出的 jar 插件上得到这个,而不是在调试插件时。我想,这可能与导出org.eclipse.search
-plugin 有关,但该插件是如此基本,以至于没有它 Eclipse 无论如何都无法运行。所以我想插件应该在那里。
我正在运行 eclipse photon (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”依赖关系,这对我来说意味着插件已成功链接?
解决方案
在我使用另一个版本的后缀导出插件后,问题消失了。我最初将后缀称为“beta”。在给它一个带有日期的新后缀后,依赖树似乎可以正常工作。可能是原始包是错误的并且在 MANIFEST 中配置错误,只有在使用不同的名称重新导出后,pacakge 依赖项才会重新正确评估。
推荐阅读
- python - 使用 Open3D 将点云与地板(平面)对齐
- javascript - 从数组 couses 中获取值“类型上不存在属性‘值’”
- openshift - HazelCast 嵌入式缓存成员未在具有多个 pod 的 Openshift 中添加
- reactjs - 第二次调用时更新的状态值
- java - MySQL 无法创建与数据库服务器的连接
- python - 在 Macintosh (10.13.6) 上使用具有多种选择的 Tkinter OptionMenu() 小部件时出现奇怪的视觉行为
- video - 使用 ffmpeg 从流中提取隐藏式字幕 VTT
- java - 尝试转换时间戳字段时,oracle.sql.timestamp 无法转换为 java.util.date
- django - Django 3.0:如何在同一模板中使用不同的 Boostrap 版本
- typescript - 您如何使用扩展运算符覆盖打字稿中的属性