Laden der Klasse zur Laufzeit in Java ClassNotFoundException

Ich habe Probleme beim Aufrufen von Klassen zur Laufzeit in Java. Im Grunde genommen erstelle ich ein Plugin-Framework

Es beginnt mit dem Öffnen von plugin / Plugins.cfg und parst den Test in eine Map. EX-Text in cfg-Datei 1 = myplugin 2 = plugin2

(Jede Plugins-Hauptklasse ist: plugin. (Plugin-Name) .main.class)

Wie Sie sehen, lädt es jeden Wert von der Karte und versucht, seine Hauptklasse auszuführen

public static void loadPlugins()
{
    int x = hackers.core.startup.InitializeGame.map.size();
    for (int i = 1; i<=x;i++)
    {
        String className = hackers.core.startup.InitializeGame.map.get(i + "");

        File file  = new File(System.getProperty("user.dir") + File.separator + "plugins" + File.separator + className);
        URL url = null;
        try {
            url = file.toURI().toURL();
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  
        URL[] urls = new URL[]{url};
        ClassLoader cl = new URLClassLoader(urls);

        try {
            Class cls = cl.loadClass("plugin." + className + ".main");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        System.out.println(className);
    }
}

Class cls = cl.loadClass("plugin." + className + ".main");

^ Zeile gibt mir den Fehler: java.lang.ClassNotFoundException: plugin.myplugin.main

Wer weiß, was hier falsch ist? Oder irgendwelche Vorschläge, ich habe mir eine API dafür angesehen, aber es war für mich verwirrend und es fehlt Dokumentation.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage