0

我不知道我做了什么,但曾经有效的方法不再有效。

我正在调用一个返回特定类的实例的函数,称之为 MyClass。MyClass 依赖于包中定义的另一个类 MyOtherClass。这个包(称为 com.myotherpackage)包含在插件清单的依赖项部分中列出的插件(称为 com.myotherplugin)中。当我调用该函数时,我收到错误“无法解析类型 com.myotherpackage.MyOtherClass。它是从所需的 .class 文件中间接引用的。”

我可以做些什么来导致这个错误出现在以前不存在错误并且我的代码运行得很好的地方?

我已经寻找解决方案。他们似乎都专注于非插件环境。一个这样的解决方案有一些我可以映射到插件的东西。它建议我配置我的构建路径(右键单击项目-> 构建路径-> 配置构建路径)。在这个对话框中,我选择了 Libraries 选项卡,点击 Plug-in Dependencies 旁边的箭头,然后点击 com.myotherplugin 旁边的箭头,然后点击 Access rules 旁边的箭头,发现旁边有一个选中的复选框单词“可访问:com/myotherpackage/*”。因此,该包似乎可用,尽管我从该视图中没有任何信息表明 MyOtherClass 包含在该包中。

任何想法,将不胜感激。

4

2 回答 2

1

您必须com.myotherpackage在清单中导出com.myotherplugin. 您可以在运行时页面上的插件清单编辑器中执行此操作。

此外,Eclipse 通常会为这些类型的错误提供快速修复,从而在清单文件中进行所需的更改。

于 2013-02-22T19:42:41.697 回答
0

我不喜欢这个答案,但是重新安装 IDE 可以解决问题(即从源代码解压缩)。请注意,我的 IDE 实例带有 com.myotherplugin。

我不知道我弄坏了什么。

于 2013-02-22T20:28:37.963 回答