【问题标题】:Java: exception NoSuchMethodError: No such method a.()IJava:异常 NoSuchMethodError:没有这样的方法 a.()I
【发布时间】:2011-06-19 23:03:39
【问题描述】:

我正在开发一个 j2me 应用程序 - 它在模拟器和大多数手机上都可以正常工作,但在 2 台诺基亚设备上(均在 ARM CPU 中具有 h/w java 加速)我在启动 midlet 时遇到此错误:

java/lang/NoSuchMethodError: 没有这样的方法 a.()I.

禁用混淆器没有帮助。 相同的混淆或非混淆 jar 适用于模拟器和其他手机。 我不知道如何调试这个问题以及可能是什么原因。有什么想法吗?

如果这很重要,我正在使用 j2me 波兰语框架,但失败发生在我的一个类中(我在禁用混淆器时看到它)。

【问题讨论】:

    标签: java java-me j2mepolish


    【解决方案1】:

    NoSuchMethodError 意味着您正在尝试调用一个不存在的方法(也就是说,应该包含该方法的类已成功加载,但它没有该方法定义)。它通常发生在您针对某个库进行编译,然后使用不同版本的库运行时。当您从代码中删除一个方法,然后无法重新编译使用该方法的类时,也可能导致它。

    【讨论】:

    • 请注意,如果 JDK 的版本比设备上的 JRE 新,则该库也可能是 Java 标准库的一部分。
    • 您是否注意到我写的失败(未找到)方法是我自己代码中的方法之一?它确实存在,它在其他设备上运行良好。
    • @Jarek:对不起,我以为你的意思是错误是从你自己的类中抛出的。是的,这是一个奇怪的问题。我不知道是什么原因造成的。
    【解决方案2】:

    将我的问题的根源添加到@Mike 的答案中,以防其他人遇到类似情况:

    我有一个依赖于另一个项目的 Eclipse 项目。这两个项目都依赖于一个公共库,我无意中更新了一个项目的库版本,但没有更新另一个项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 2021-07-12
      • 1970-01-01
      • 2016-04-05
      相关资源
      最近更新 更多