java_lang_ClassNotFoundException

问题分析

ClassNotFoundException是通过Class.forName(java.lang.String)等方式试图通过String找到类而未找到的报错,这种错误只能在运行期抛出。

解决方案

通过Class.forName(java.lang.String)等方式试图通过String找到类而未找到的报错,这种错误只能在运行期抛出,请确认类路径正确并已正确引用。

代码示例

    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);
        }
    }

参考文献