为什么我收到java.lang.AbstractMethodError错误?

2022-09-01 00:49:13

ABstractMethodEror的可能原因是什么?

线程 “pool-1-thread-1” java.lang.AbstractMethodError 中的异常:

org.apache.thrift.ProcessFunction.isOneway()Z
    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:51)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
    at com.gemfire.gemstone.thrift.hbase.ThreadPoolServer$ClientConnnection.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

答案 1

这通常意味着您使用的是旧版本的接口实现,缺少新的接口方法。例如java.sql.Connection接口在1.7中获得了一个新的getSchema方法。如果你有1.6 JDBC驱动程序并调用Connection.getSchema,你会得到AbstractMethodError。


答案 2

简单的答案是这样的:一些代码试图调用一个声明的方法。抽象方法没有主体,无法执行。由于您提供的信息很少,我无法详细说明这种情况是如何发生的,因为编译器通常会发现此问题 - 如此处所述,这意味着类必须在运行时更改。abstract


推荐