在包的字母'p'处,我在Java文件开头遇到了以下错误
内部编译器错误:java.lang.ClassCastException:org.eclipse.jdt.internal.compiler.lookup.MethodBinding无法转换为org.eclipse.jdt上的org.eclipse.jdt.internal.compiler.lookup.FieldBinding。 internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:817)
项目在命令提示符下编译正常。但是eclipse显示此错误。我正在使用jdk 8。 任何帮助都将受到高度赞赏
我尝试重新启动eclipse,清理项目,安装不同版本的eclipse等。
答案 0 :(得分:3)
尝试将lombok更新到最新版本(Download 1.18.10)。它对我有用。
答案 1 :(得分:2)
我有一个类似的问题。原来是Lombok 1.18.8和Eclipse 4.11之间的兼容性问题。我恢复到Lombok 1.18.2使其再次工作。建议关闭的Eclipse票证使用Lombok 1.16.18。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=547244
答案 2 :(得分:0)
我注意到在我的工作空间中,错误仅发生在包含注释@JsonProperty的类中。我找到的解决方法-将类中的所有这些注释都注释掉,保存并让工作区构建运行。然后取消注释并保存,以使类文件返回其原始状态。就我而言,错误消失了,直到Eclipse再次编译该类为止。通常,只要不更改类就不会发生。
答案 3 :(得分:0)
在我的情况下,“内部编译器错误:java.lang.ClassCastException”来自不同版本的lombok.jar-一个安装在eclipse目录中作为javaagent,另一个安装在我的maven项目中。在eclipse目录中更新lombok.jar后,一切正常。
希望这会有所帮助。