什么原因导致“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