大家好,又见面了,我是你们的朋友全栈君。
我在创建euraka客户端时报错,java.lang.AbstractMethodError: null,在网上找了大半天也没有找到靠谱的答案,探求本质,多数文章都是浮于表面,并没有对错误原因进行深入分析,后面我找到了一篇对java.lang.AbstractMethodError原理进行讲解的文章,才恍然大悟。
首先java.lang.AbstractMethodError是运行时错误,编译时并不能发现,知道运行时才会报错。
通过查阅API文档里面的解释大致得出的结论就是说A依赖于B,但是执行的时候发现类B的定义发生了改变,这个改变是针对编译的时候发生了改变,也就是说将类A由java文件编译成.class文件的时候用到了类B的class文件,但是在执行的时候JVM发现真正用到的B的class文件和编译的时候用的不是一个了。于是这个异常就被抛了出来。
于是我查看了我eureka客户端的pom文件
发现我多导入版本是2.1.1RELEASE,而我实际从父pom继承的依赖应该是2.0.2RELEASE
所以造成java.lang.AbstractMethodError: null。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137258.html原文链接:https://javaforall.cn