Mit Class.forName oder wie meinst du das jetzt?
Hab mir einen eigenen ObjectInputStream geschrieben, damit gehts Problemlos (dein Ansatz interessiert mich trotzdem!)
Code:
import java.io.InputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectStreamClass;
import java.io.StreamCorruptedException;
public class OwnClassLoaderObjectInputStream extends ObjectInputStream {
private ClassLoader myLoader = null;
public OwnClassLoaderObjectInputStream(ClassLoader newLoader, InputStream theStream) throws IOException, StreamCorruptedException {
super(theStream);
myLoader = newLoader;
}
protected Class resolveClass(ObjectStreamClass osc) throws IOException, ClassNotFoundException {
Class theClass = null;
try {
theClass = Class.forName(osc.getName(), true, myLoader);
}
catch (Exception e) {
e.printStackTrace();
}
return theClass;
}
}