java.lang.NoSuchMethodError – Ljava / lang / String;)Ljava / lang / String;

我的代码在下面给出了错误;

Exception in thread "main" java.lang.NoSuchMethodError: com/myApp/Client.cypherCBC(Ljava/lang/String;)Ljava/lang/String;

但它在另一个本地环境中运行良好.到目前为止,我的代码如下;

        try{
            System.out.println("Encrypted CBC passwd : " +Client.cypherCBC("CypherThePassword"));
        }catch(Exception e){
         e.printStackTrace();
        } 
最佳答案
这是由于运行时JAR或类不匹配造成的.在编译应用程序时存在的“Client”类有一个静态方法“cypherCBC”,它获取String参数,但在运行时类加载器加载了“Client”类,它没有那种方法(同名签名相同).

如果你可以在运行时调试应用程序,在抛出异常的行放置一个断点,然后尝试评估以下表达式,

Client.class.getResource("Client.class")

,然后你可以找到该类被引导的位置,然后你可以反编译并尝试解决问题.

转载注明原文:java.lang.NoSuchMethodError – Ljava / lang / String;)Ljava / lang / String; - 代码日志