Java AbstractMethodError 原因分析:运行eureka客户端报错

2022-09-05 10:17:12 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

我在创建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

0 人点赞