Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从.zip文件加载类时发生java.lang.LinkageError_Java - Fatal编程技术网

从.zip文件加载类时发生java.lang.LinkageError

从.zip文件加载类时发生java.lang.LinkageError,java,Java,我正在尝试制作一个类加载器,它将在.zip文件中加载.class文件。我遵循了本教程(),但当我运行程序时,出现以下错误: java.lang.LinkageError: loader (instance of org/freeforums/geforce/genforcer/main/ZipClassLoader): attempted duplicate class definition for name: "test/TestClass" 错误来自第30行,即: return defin

我正在尝试制作一个类加载器,它将在.zip文件中加载.class文件。我遵循了本教程(),但当我运行程序时,出现以下错误:

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”循环中。刚把它从循环中取出来,现在它工作得很好。我不知道为什么我自己不能弄明白。谢谢你的帮助

那个类已经在类路径上了吗?对不起,我对使用类加载器和其他半高级特性是全新的。你能解释一下这是什么意思吗?我所问的与类加载器或其他很多东西无关。我在问,当你运行程序时,类是否已经在类路径上,加载了,等等。哦,是的,已经加载了。我在主帖子中添加了错误产生的那一行;然而,后一个类在编译前一个类之后发生了不兼容的变化。虽然这是一个“垃圾”错误。我怀疑在本例中您得到了它,因为您已经加载了一个版本的test/TestClass。