Hallo,
ich möchte über Netzwerk ein serialisiertes Object einer Klasse (Test) als Datei, und die dazugehörige .class Datei schicken. Eine Klasse Load soll auf einem entfernten Rechner die .class Datei laden sowie das Serialisierte Object der Klasse, deserialisieren (alles ohne RMI!). Das Serialisieren des Objectes und schicken der .class klappt, die Frage ist, wie schreibe ich mir den ClassLoader dazu?
Klasse Test:
Klasse Load:
ich möchte über Netzwerk ein serialisiertes Object einer Klasse (Test) als Datei, und die dazugehörige .class Datei schicken. Eine Klasse Load soll auf einem entfernten Rechner die .class Datei laden sowie das Serialisierte Object der Klasse, deserialisieren (alles ohne RMI!). Das Serialisieren des Objectes und schicken der .class klappt, die Frage ist, wie schreibe ich mir den ClassLoader dazu?
Klasse Test:
Code:
public class Test implements Serializable {
public int version;
private static final long serialVersionUID = 1L;
public Test(int version) {
this.version = version;
}
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("D:\\test\\Test.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
Test ts = new Test(100);
oos.writeObject(ts);
oos.flush();
oos.close();
}
}
Klasse Load:
Code:
public class Load {
public static void main( String[] args ) throws Exception {
Loads lc = new Load();
URL url = new File("D:\\workspace\\Test\\bin").toURI().toURL();
ClassLoader cl = new URLClassLoader(new URL[]{ url } );
Class<?> c = cl.loadClass("test.Test");
//c.newInstance();
FileInputStream fis = new FileInputStream("D:\\test\\Test.ser");
ObjectInputStream oin = new ObjectInputStream(fis);
Load lo = (Load) oin.readObject(); //Fehler: ClassNotFoundException
}
}