ClassFormatError: Unbekanntes konstantes Tag in Klasse XY

Ich habe ein Stück Code, in dem ich versuche, eine Klasse während der Laufzeit zu laden. Der Code ist nicht vollständig selbst geschrieben, daher habe ich einige Probleme, den Fehler zu verstehen, der nach dem Kompilieren immer auftritt.

Hier der Code:

private Class findClass(String s)
        throws ClassNotFoundException
    {
        URL url = getResource("AP.class");
        if(url == null)
        {
            throw new ClassNotFoundException(s);
        }
        inputstream = null;
        Class classToRead;
        try
        {
            inputstream = url.openStream();
            byte abyte0[] = readClass(inputstream);
            classToRead= defineClass(s, abyte0, 0, abyte0.length);
        }
        catch(IOException ioexception)
        {
            throw new ClassNotFoundException(s);
        }
        if(inputstream != null)
        {
            try
            {
                inputstream.close();
            }
            catch(Exception exception1) { }
        }
        return classToRead;
    }

Der Fehler tritt bei der defineClass-Methode auf.

Fehler Stacktrace:

Exception in thread "main" java.lang.ClassFormatError: Unknown constant tag 63 in class file AP
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at c.findClass(c.java:100)
    at c.loadClass(c.java:56)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at c.a(c.java:20)
    at mainOpenClass.main(lol.java:13)

Meine Fragen sind jetzt: Stimmt etwas mit dem Code nicht? Ist es möglich, dass die AP.class beschädigt ist? Was bedeutet der Fehler wirklich?

Ich hoffe, jemand kann mir bei meinem Problem helfen, da das Durchsuchen des Internets in diesem Fall nicht wirklich geholfen hat.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage