我正在编写程序,在运行时加载.class文件并调用main方法。代码如下。
File classDir = new File(pathToClass);
URL pathTo = classDir.toURL();
URL[] urls = new URL[]{pathTo};
URLClassLoader cl = new URLClassLoader(urls);
_class = cl.loadClass(className);
Method m = _class.getMethod("main", String[].class);
它构建并执行时出现此错误:
java.lang.NoClassDefFoundError: [LComplex;
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2693)
at java.lang.Class.privateGetMethodRecursive(Class.java:3040)
at java.lang.Class.getMethod0(Class.java:3010)
at java.lang.Class.getMethod(Class.java:1776)
我做错了什么
文件以这种模式放置:
C:/dir/a/ccc.class
C:/dir/a/ccc.java
C:/dir/b/ccc.class
C:/dir/b/ccc.java
答案 0 :(得分:0)
就像isnot2bad所说,复杂类缺失了。加载后,错误消失了