我有一个可以在Eclipse中正确运行的项目,但运行独立jar会在运行时为类提供java.lang.NoSuchMethodError。
我解压缩了jar文件,可以在jar中的一个库文件中看到类文件,我确实看到了类中定义的方法。异常不是关于类未找到,而是在类中找不到该方法。
无法在互联网上找到任何有用的信息来解决问题。
答案 0 :(得分:5)
很可能在依赖项中有另一个jar具有相同的类(可能是同一个库的另一个版本)但是没有这个方法。我认为后一个类是加载的而不是你解压缩的类。
答案 1 :(得分:0)
...应用程序尝试 调用类的指定方法 (静态 或实例),该类 不再具有该定义 方法 即可。通常,编译器会捕获此错误;这个错误可以 只有在类的 定义不兼容时才会在运行时发生 改变 强>
如上所述,有两种可能性: