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

新手上路,请多包涵

ABstractMethodError 的可能原因是什么?

线程“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)

原文由 Avinash 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

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

原文由 devrobf 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

原文由 Evgeniy Dorofeev 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题