我正在尝试创建一个类加载器,它将加载 .zip 文件中的 .class 文件。我按照本教程( 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");
有人知道我做错了什么吗?
最佳答案
发现问题了。我调用该方法两次,因为它与一堆其他代码处于“for”循环中。刚刚将其从循环中取出,现在它可以正常工作了。不知道为什么我自己无法弄清楚。感谢您的帮助!
关于从 .zip 文件加载类时出现 java.lang.LinkageError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22077680/