如何加载.class并调用其中一个方法

时间:2015-10-23 13:07:26

标签: java reflection urlclassloader

我在运行时编译了一个文件系统上的java文件,这是一个非常简单的类:

public class Test {

public static int res(int a, int b) {   
    return a*b;
}   

}

现在我只想从我的项目中调用res方法(这将是一个jar),但我的代码生成java.lang.ClassNotFoundException: Test

这就是我加载课程的方式:

URL[] urls = new URL[] {new URL("file:///"+UtilOverriding.getFile1().replace("java", "class"))};
        URLClassLoader loader = new URLClassLoader(urls);
        Class clazz = loader.loadClass("Test");

1 个答案:

答案 0 :(得分:1)

指定类路径时,必须提供目录,它是所有包的父目录。请改为尝试。

 new URL("file:///"+UtilOverriding.getFile1().getParent()}