从.zip文件加载类时出现java.lang.LinkageError

时间:2014-02-27 18:49:25

标签: java

我正在尝试创建一个类加载器,它将.class文件加载到.zip文件中。我遵循了本教程(https://weblogs.java.net/blog/2008/07/25/how-load-classes-jar-or-zip),但是当我运行程序时,我收到了这个错误:

java.lang.LinkageError: loader (instance of org/freeforums/geforce/genforcer/main/ZipClassLoader): attempted duplicate class definition for name: "test/TestClass"

错误来自第30行,即:

return defineClass(filename, out.toByteArray, 0, out.size());

我使用以下方法调用该方法:

zipClassLoaderObj.findClass("test.TestClass");

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

发现问题。我正在调用该方法两次,因为它在一个'for'循环中,带有一堆其他代码。把它从循环中取出来,现在它完美无缺。不知道为什么我无法弄清楚自己。谢谢你的帮助!