我不知道我做了什么,但曾经有效的方法不再有效。
我正在调用一个返回特定类实例的函数,将其称为 MyClass。 MyClass 依赖于包中定义的另一个类 MyOtherClass。该包(称为 com.myotherpackage)包含在我的插件 list 的依赖项部分中列出的插件(称为 com.myotherplugin)中。当我调用该函数时,出现错误“无法解析类型 com.myotherpackage.MyOtherClass。它是从所需的 .class 文件间接引用的。”
我可以做什么来导致这个错误出现在以前不存在错误并且我的代码运行良好的地方?
我已经寻找解决方案。他们似乎都专注于非插件环境。其中一个解决方案有一些我可以映射到插件的东西。它建议我配置构建路径(右键单击项目 -> 构建路径 -> 配置构建路径)。在此对话框中,我选择了“库”选项卡,单击“插件依赖项”旁边的箭头,然后单击 com.myotherplugin 旁边的箭头,然后单击“访问规则”旁边的箭头,发现旁边有一个选中的复选框“可访问:com/myotherpackage/*”。因此,尽管我没有从该 View 中获得 MyOtherClass 包含在该包中的信息,但该包似乎可用。
任何想法将不胜感激。
最佳答案
您必须在 com.myotherplugin
的 list 中导出 com.myotherpackage
。您可以在 Runtime page 上的插件 list 编辑器中执行此操作。
Eclipse 通常还提供 Quick Fix对于此类错误,请在 list 文件中进行必要的更改。
关于java - 插件依赖项有一个包,我收到 "type <type> cannot be resolved"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15031623/