vrm*_*vrm 25 java nosuchmethoderror
我越来越:
NoSuchMethodError: com.foo.SomeService.doSmth()Z
Run Code Online (Sandbox Code Playgroud)
我是否正确理解这'Z'意味着doSmth()方法的返回类型是布尔值?如果为true,那么这种方法确实不存在,因为此方法返回一些Collection.但另一方面,如果我调用此方法,我不会将其返回值赋给任何变量.我只是这样调用这个方法:
service.doSmth();
Run Code Online (Sandbox Code Playgroud)
有什么想法发生这个错误?存在所有必需的JAR文件,并且此类中的所有其他方法似乎都存在.
amo*_*fis 24
看起来在编译期间类路径中存在方法,但在应用程序运行期间不存在.
我不认为返回类型是一个问题.如果是,它将无法编译.当方法调用不明确时,编译器抛出错误,并且当两个方法仅由返回类型不同时.
Viv*_*sse 17
这可能是编译时类路径和运行时类路径之间的差异.
这是似乎正在发生的事情:
doSmth()返回布尔值的方法.字节码指的是doSmth()Z方法.doSmth()Z找不到该方法.找到返回Collection的方法.要解决此问题,请检查(编译时)类路径.
| 归档时间: |
|
| 查看次数: |
47355 次 |
| 最近记录: |