Salve a tutti..sto realizzando un classloader personalizzato per caricare classi dal disco a runtime.
Il problema è che non riesco a capire perche il mio codice non va.
Forse sbaglioo qualche cosa ma non riesco a vedere l'errore.

ecco il codice:

codice:
 public static void main(String[] args) throws ClassNotFoundException, FileNotFoundException, IOException {
      
     Loader load = new Loader();
    
     Class cls = load.loadClass("/Users/NetBeansProjects/testClass/build/classes/testclass/testClass.class");
     System.out.println(cls.getName());
    }


codice:
public class Loader extends ClassLoader {

    @Override
    public Class loadClass(String nameclass){
        Class result=null;
        byte  classData[]=null;
        try{
    
        FileInputStream file = new FileInputStream(nameclass);
        classData=new byte[file.available()];
        file.read(classData);

        result= defineClass(null,classData,0,classData.length);
        }catch(Exception e){System.out.println(e.getMessage());}
        return result;

    }
    
}
Come vedete io passo al mio classloader il path del file .class da caricare e lo leggo tramite FileInputStream;
poi chiamo il metodo defineClass per creare effettivamente la mia classe.
pero non funziona.

ottengo questi errori :

Exception in thread "main" java.lang.NoClassDefFoundError: testClass (wrong name: testclassloader/testClass)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java :676)
at java.lang.ClassLoader.defineClass(ClassLoader.java :521)
at testclassloader.Loader.loadClass(Loader.java:28)
at testclassloader.Main.main(Main.java:27)
Java Result: 1

sapete aiutarmi?
grazie in anticipo.
marco