动态加载类错误NoClassDefFoundError

时间:2015-05-04 20:56:38

标签: java

我正在编写程序,在运行时加载.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

1 个答案:

答案 0 :(得分:0)

就像isnot2bad所说,复杂类缺失了。加载后,错误消失了