当前位置: 首页 > 面试题库 >

Java“ NoSuchMethodError”

闻人思聪
2023-03-14
问题内容

我越来越:

NoSuchMethodError: com.foo.SomeService.doSmth()Z

我是否正确理解,这'Z'意味着doSmth()方法的返回类型为布尔值?如果为true,则实际上不存在这种方法,因为此方法返回一些Collection。但是另一方面,如果我调用此方法,则不会将其返回值分配给任何变量。我只是这样调用此方法:

service.doSmth();

任何想法为什么会发生此错误?所有必需的JAR文件都存在,并且此类中的所有其他方法似乎都存在。


问题答案:

看起来方法在编译期间存在于类路径中,但在应用程序运行期间不存在。

我认为返回类型不是问题。如果是这样,它将无法编译。当方法调用不明确时,即两个方法仅在返回类型上有所不同时,编译器将引发错误。



 类似资料:
  • 我正在为1.8.9编写一个minecraft mod,除了这一行,其他一切都可以正常工作。文件基本上看起来像 坠机记录告诉我 这是我使用Minecraft的唯一一条线。getMinecraft()。我做错了什么?

  • 在完成一个模块后,应该从那几个方面对代码进行优化,有哪些方法可以进行优化

  • 我想知道是否可以(以及使用哪种工具)在Java中执行类型安全i18n。可能还不清楚,所以这里有一些细节,假设我们使用基于的东西 1)使用类型安全参数进行转换 我希望避免像这样的接口,其中的值是非类型化的。应该不可能使用错误的参数类型进行调用。 注我可以指定所有键的类型。我正在寻找的解决方案应该是可伸缩的,并且不应该显著增加后端启动时间。 2)应该在编译时知道哪些键还在使用 我不希望我的翻译键库像许

  • 我们已经知道,Clojure代码最终在Java虚拟环境中运行。 因此,只有Clojure能够利用Java的所有功能才有意义。 在本章中,我们将讨论Clojure和Java之间的关联。 调用Java方法 可以使用点表示法调用Java方法。 一个例子是字符串。 由于Clojure中的所有字符串都是Java字符串,因此可以在字符串上调用普通的Java方法。 有关如何完成此操作的示例,请参见以下程序。 例

  • 问题内容: 我正在学习Spring 3,但似乎并没有掌握背后的功能。 从我读过他们似乎处理不同的注解(等等V,,等),而且从我读过他们注册相同什么bean后置处理器类。 为了更迷惑我,还有一个 属性上。 有人可以阐明这些标签吗?有什么相似之处,有什么不同之处,一个被另一个取代,它们彼此完成,我是否需要其中一个? 问题答案: 用于激活已经在应用程序上下文中注册的bean中的注释(无论它们是使用XML

  • 我在从使用SpringBoot和Faign构建的Java应用程序连接外部API时遇到问题。应用程序部署到docker容器中的VM。我正在尝试访问外部服务endpoint来检索一些数据,但到目前为止运气不佳。 我已经从VM命令行和docker容器内部也从命令行执行了相同的curl命令,但是当试图从java代码中命中它时,我只是收到一个超时。 任何关于可能发生的事情的想法,显然hosts文件和代理都是