我在包的字母“p”處的 java 文件開頭出現以下錯誤內部編譯器錯誤:java.lang.ClassCastException:org.eclipse.jdt.internal.compiler.lookup.MethodBinding 無法轉換為 org.eclipse.jdt.internal.compiler.lookup.FieldBinding at org.eclipse.jdt.internal.compiler .ast.ASTNode.resolveAnnotations(ASTNode.java:817)項目在命令提示符下編譯良好。但 Eclipse 顯示此錯誤。我正在使用 jdk 8。非常感謝任何幫助我嘗試重新啟動 eclipse、清理項目、安裝不同版本的 eclipse 等。
4 回答

浮云間
TA貢獻1829條經驗 獲得超4個贊
我有一個類似的問題。原來是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

慕神8447489
TA貢獻1780條經驗 獲得超1個贊
我注意到在我的工作區中,錯誤僅發生在包含注釋 @JsonProperty 的類中。我找到的解決方法 - 注釋掉類中的所有這些注釋,保存并讓工作區構建運行。然后取消注釋并保存,這樣類文件就恢復到原來的狀態了。在我的例子中,錯誤消失,直到 Eclipse 再次編譯該類。通常只要班級沒有改變就不會發生。

暮色呼如
TA貢獻1853條經驗 獲得超9個贊
在我的例子中,“內部編譯器錯誤:java.lang.ClassCastException”來自不同版本的 lombok.jar - 一個作為 javaagent 安裝在 eclipse 目錄中,第二個在我的 maven 項目中。在 eclipse 目錄中更新 lombok.jar 后一切正常。
添加回答
舉報
0/150
提交
取消