[更新]这似乎是一个
bug somewhere in the depths of m2e and JDT.通常,当您有多个项目(Maven多模块/反应堆构建)和模块MA,MB和MC相互依赖时,它会出现:
MC取决于MB取决于内部参数化类型X.Y< T>的MA.
你已经关闭了模块MB.在MC的classpath中,这样看起来像这样:
MB.jar
MA
这是MB作为JAR存在于类路径上,而MA作为Eclipse项目从工作空间导入.
在这种情况下,当在MB.jar中读取需要MA内部参数化类型的.class文件时,Eclipse会变得困惑.我的猜测是它需要MB.jar的类型,解析它,它告诉它对MA中类型的依赖性,然后它尝试解析,发现T的类型参数无法解析,因为解析MB还没完成
有三个修复:
>关闭MA.这将导入所有东西作为JAR.
>打开项目MB.
>使内部类型为toplevel类型
[旧]
如果发生这种情况,请按照增加绝望的顺序尝试这些步骤:
关闭编辑器并重新打开.
>清理项目
>关闭项目并重新打开.
>重新启动Eclipse
如果所有失败:
>导出您的首选项
>退出Eclipse
>删除(或重命名)工作区中的文件夹.metadata.这是一些操作系统上的一个隐形文件夹,但它在那里.
再次启动Eclipse
>导入您的首选项
>再次导入所有项目为此,选择工作区.然后,Eclipse将列出对话框中的所有项目,您可以一次性选择所有项目.
有关:
> Bug 430605 – [select]无法在编辑器中打开当前文本选择