什麼原因導致「java.lang.IncompatibleClassChangeError:vtable存根」?在我們的應用程序中,我們發現這個錯誤是隨機彈出的,很少出現(到目前爲止只有兩次,而且我們運行了很多)。即使重新啓動應用程序,使用相同的jvm/jar而不重建也不容易重現。什麼原因導致「java.lang.IncompatibleClassChangeError:vtable存根」?
至於我們的構建過程,我們清理所有的類/ jar並重建它們,所以它與其他人遇到的問題並不是同一個問題,他們在一個類中進行了更改,並且沒有重新編譯其他相關類。
這不像其他一些與IncompatibleClassChangeError有關的問題 - 他們都沒有提到「vtable stub」。事實上,當搜索「IncompatibleClassChangeError」vtable stub「」時,出現了驚人的谷歌搜索結果。
編輯:
- 使用JDK 1.6.0_16。
- 我們不使用Java序列化。
- 我們不在做字節碼操作。
- 如前所述,我們正在做一個「乾淨的構建」,所以沒有以前的構建遺留的類。
聽起來像你可能有損壞的類文件。你在開發/構建/部署什麼系統?你使用什麼Java版本?你在使用字節碼操作工具嗎? – Jesper 2010-06-14 21:25:46
您使用的是什麼JVM?我發現JDK7中提到了這個錯誤。 – 2010-06-14 21:31:22