Java "NoSuchMethodError"

标签 java nosuchmethoderror

我得到:

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

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

service.doSmth();

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

最佳答案

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

我认为返回类型不是问题。如果是的话,就无法编译。当方法调用不明确时,并且当两个方法仅返回类型不同时,编译器会抛出错误。

关于Java "NoSuchMethodError",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31863995/

相关文章:

java - 重写标准 JVM 异常的 fillInStackTrace

方法存在时的Java NoSuchMethodError

java - <Java> 棋盘棋子移动

java - Robolectric、AsyncTasks 和线程

java - 使用 while 循环打印值

java - 在 solr 查询中不工作小于运算符

java - 替换 java 8 的 nio.file.Path::of(String)

hadoop - 为什么 Guava 在我的 build.sbt 中没有正确着色?

java - 我需要帮助解决此错误 : java. lang.NoSuchMethodError

android JNI报告找不到方法