13

我在包的字母'p'处的java文件开头遇到错误

内部编译器错误:java.lang.ClassCastException:org.eclipse.jdt.internal.compiler.lookup.MethodBinding 无法在 org.eclipse.jdt.internal.compiler 中转换为 org.eclipse.jdt.internal.compiler.lookup.FieldBinding .ast.ASTNode.resolveAnnotations(ASTNode.java:817)

项目从命令提示符编译得很好。但是eclipse显示这个错误。我正在使用jdk 8。非常感谢任何帮助

我尝试重新启动 eclipse、清理项目、安装不同版本的 eclipse 等。

4

4 回答 4

27

我有一个类似的问题。原来是Lombok 1.18.8Eclipse 4.11之间的兼容性问题。我恢复到 Lombok 1.18.2 让它再次工作。已关闭的 Eclipse 票证建议使用 Lombok 1.16.18。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=547244

于 2019-05-20T20:18:34.050 回答
10

我注意到在我的工作区中,错误只发生在包含注释@JsonProperty 的类中。我找到的解决方法 - 将类中的所有这些注释注释掉,保存并让工作区构建运行。然后取消注释并保存,让class文件恢复到原来的状态。在我的情况下,错误消失,直到 Eclipse 再次编译该类。只要班级没有改变,通常就不会发生。

于 2019-06-27T10:33:27.507 回答
5

尝试将 lombok 更新到最新版本(下载 1.18.10)。它对我有用。

于 2019-09-17T20:02:04.797 回答
1

在我的情况下,“内部编译器错误:java.lang.ClassCastException”来自不同版本的 lombok.jar - 一个作为 javaagent 安装在 eclipse 目录中,第二个安装在我的 maven 项目中。更新 eclipse 目录中的 lombok.jar 后,一切正常。

希望这可以帮助。

于 2020-01-08T09:04:40.590 回答