Stimmen über classloader?

Wie kann ich dies tun:

class Foo {
  public static Foo get() throws Exception {
    ClassLoader cl = new URLClassLoader(new URL[]{"foo.jar"}, null); //Foo.class is in foo.jar
    return (Foo)cl.loadClass("Foo").newInstance(); //fails on class cast
  }
}

Was ich brauchen, ist für die JVM zu betrachten, die Foo-Instanz, die aus cl, als ob es eine Instanz von Foo aus der classloader, der die Ausführung von code.

Habe ich gesehen, diese Ansätze, keiner von Ihnen gut für mich (das obige Beispiel ist ein Spielzeug, Beispiel):

  1. Laden der Klasse (oder eine separate Schnittstelle) von einem class loader ist, dass ein Elternteil sowohl der aufrufende code und erstellt classloader
  2. Serialisieren und Deserialisieren das Objekt.
InformationsquelleAutor IttayD | 2010-04-07
Schreibe einen Kommentar