java_lang_NoSuchMethodException

更新时间:2022-06-27 07:53:46

问题分析

找不到特定的函数时抛出此类异常,因为编译时依赖的库版本有这个函数的,但是运行时却没有找到,这个异常通常发生在反射调用时被抛出。

解决方案

找不到特定的函数时抛出此类异常,请注意打包的类库版本信息,一般发生在反射调用时被抛出。请查看日志中此Crash附近日志信息,并检查日志报错对应的代码是否写错函数名。

代码示例

    package com.alibaba.mqc.test;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    //简单的反射demo
    public class V {
        public void printf(){
            System.out.println("printf");
        }
        public static void main(String[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException, InstantiationException {
            Class c = Class.forName("com.alibaba.mqc.test.V");
            Method m = c.getDeclaredMethod("printf",null);
            m.invoke(c.newInstance(),null);
        }
    }

参考文献

  • 本页导读 (0)
  • 问题分析
  • 解决方案
  • 代码示例
  • 参考文献
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等