且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

java.lang.VerifyError:函数的不兼容参数(aspectj)

更新时间:2022-12-24 10:14:13

好的,经过几天的努力,我想我找到了正确的答案。当我为我的服务引入接口时,问题就消失了。因此,我认为编译器(javac或ajc,但很可能是后者)破坏了字节码中的vtable,但是接口的引入以某种方式纠正了这个问题。我还没有对字节码进行反编译以证明这是实际发生的事情,但事实仍然是引入一个接口解决了这个问题。

Ok, after days of hard work I think I've found the correct answer. The problem went away when I introduced interfaces for my services. Therefore, I think the compiler (either javac or ajc, but most likely the latter) was corrupting the vtable in the bytecode, but the introduction of the interface somehow corrected the problem. I haven't gone as far as decompiling the bytecode to prove this is what actually happened, but the fact remains that introducing an interface fixed the issue.