【问题标题】:Method of abstract clas found cannot be found in build jar在构建 jar 中找不到抽象类的方法
【发布时间】:2019-03-01 07:42:48
【问题描述】:

我有一个 Maven 项目,其中一个类继承自一个抽象类。

当我在 Eclipse 中运行项目时,一切都很好,当我调用实现的继承方法时没有问题。

使用 maven 目标 'clean package' 构建 jar 并从终端运行它后,调用继承方法时会出现 NoSuchMethodException。

【问题讨论】:

  • 通过修复它。但在没有看到任何代码/更多上下文的情况下,我们无话可说
  • 抽象类从何而来?由package 编译的您自己的源代码?或者来自您部署了错误版本的某些库 jar 文件(这几乎总是 NoSuchMethodError 的原因)?
  • mvn clean install怎么样

标签: java maven inheritance abstract-class nosuchelementexception


【解决方案1】:

我猜抽象类来自您项目的依赖项。使用 clean package 构建 jar 不会将依赖项包含到您的工件中。

【讨论】:

  • 如果完全没有依赖,你会得到一个ClassNotFoundError。所以我的猜测是依赖 jar 存在于部署中,但版本错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-21
  • 1970-01-01
  • 2021-05-14
  • 2012-09-16
  • 2016-07-22
  • 2010-12-13
  • 1970-01-01
相关资源
最近更新 更多