Folgender Code lädt bei mir zurzeit Klassen aus einer '.jar'-Datei:
Mittlerweile habe ich aber das Problem, dass ich Klassen die ich schon im Hauptprogramm geladen habe in der geladenen Klasse laden will, aber aus der '.jar'-Datei. Die Klassen scheint wegen dem gleichem Namen nicht neu geladen zu werden. Geht es irgendwie ohne die Klassen umzubenennen?
Schon mal danke im Vorraus.
Code:
try
{
URL url = new URL( "jar:" + new File( "Models" + File.separator + modelsList.get(num) ).toURL() + "!/" );
URLClassLoader cl = new URLClassLoader( new URL[]{ url } );
//Class c = Class.forName( "Model", true, cl );
Class c = cl.loadClass( "Model" );
models[player] = (GremlinModel) c.newInstance();
models[player].init(gl, glu);
// Speichern
settings.set("Player"+(player+1), modelsList.get(num));
settings.saveToFile(new File("settings.knut"));
modelNum[player]=num;
}
catch(Exception e)
{
// Wer nicht funktionier darf's nicht nochmal versuchen
System.out.println("Fehler beim Laden des Models '" + modelsList.get( num ) + "'!");
modelsList.remove( num );
setModel( num, player );
}
Mittlerweile habe ich aber das Problem, dass ich Klassen die ich schon im Hauptprogramm geladen habe in der geladenen Klasse laden will, aber aus der '.jar'-Datei. Die Klassen scheint wegen dem gleichem Namen nicht neu geladen zu werden. Geht es irgendwie ohne die Klassen umzubenennen?
Schon mal danke im Vorraus.