lancé à travers chargeur de classe?

Comment puis-je faire cela:

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
  }
}

Ce dont j'ai besoin est pour la JVM de considérer les Foo instance de cl comme si elle est une instance de Foo à partir du chargeur de classe de l'exécution du code.

J'ai vu ces approches, aucun d'entre eux bon pour moi (l'exemple ci-dessus est un jouet exemple):

  1. Charge de la classe (ou une autre interface) par un chargeur de classe parent à la fois le code d'appel et créé chargeur de classe
  2. Sérialiser et désérialiser l'objet.
InformationsquelleAutor IttayD | 2010-04-07