ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
302
302
EMPFEHLEN
-
Hallo!
Wie oben schon beschrieben habe ich ein Problem mit der Serialisierung eines Objectes.
Ich möchte gerne ein Object von einem Client zum Server senden. Das ganze funktioniert auch... bis auf ein Problem. Client und Server befinden sich in unterschiedlichen Packages...
Wenn ich das richtig verstanden hab muss ja, die Klasse die man über den ObjectStream versenden will, dem Server und der Clientversion zur Verfügung stehen und das Interface Serializable eingebunden haben.
Mein Client konnte die Klasse auch Serialisieren und sie zum Server senden. Doch als der Sie empfangen hat gabe es eine ClassNotFoundException (package des Clients).class not found...
Strings oder andere Primitive Datentypen kann ich versenden nur eben Klassen nicht...
Jemand ne Idee wie ich das beheben kann?
Schon mal Danke für die Hilfe
-
06.03.08 17:05 #2
Was fliegt denn für eine Exception? Implementiert die zu übertragende Klasse Serializable? Hat die Klasse eine serializableUId?
REINHAUN!
-
06.03.08 17:13 #3
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
hast du die Klassen der vom Client serialisierten Objekte auch ganz sicher auf dem Server im Classpath verfügbar?
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Es funktioniert nun... aber irgendwie nicht so wie ich es gerne gewollt hätte

Ich habe eine Klasse "SendObject" (die soll Serialisiert und versendet werden Inhalt is ja nich wichtig...das interface ist implementier
)
Diese Klasse steht im package messu_client und im package messu_server zur Verfügung.
Das Versenden der Klasse ist kein Problem, doch wenn ich sie wieder auspacken will muss das ganze so aussehen... (nur ein Auzug)
package messu_server;
import java.net.*;
import java.io.*;
//Der import aus einer zur Verfügung gestellten .jar - File
import messu_client.SendObject;
...
InputStream in = socket.getInputStream();
ObjectInputStream os = new ObjectInputStream(new BufferedInputStream(in));
Object o = os.readObject();
if(o instanceof messu_client.SendObject){
SendObject obj = (messu_client.SendObject)o;
System.out.println(obj.toString());
}
So... um es kurz zu erklären... ich stelle hier dem Server das package des clients in einer .jar Datei zur Verfügung damit der sich aus diesem package die messu_client.SendObject Klasse nehmen kann. Funktioniert auch, ist aber umständlich finde ich.
Die Klasse SendObject befindet sich nämlich auch im package des Servers (messu_server.SendObject) aber die beiden sind nicht kompatibel... verstehe nicht warum
sind ja die selben Klassen... nur das package stört...
Gehts anders? Oder muss ich es einfach so hinnehmen? Dann muss ich nämlich immer die Klasse des clients mitschleifen...
Nochmal Danke für die Hilfe es funktioniert ja aber man macht sich halt so seine Gedanken :>
mfg
Matthias
-
07.03.08 10:54 #5
Wie kann denn eine Klasse in zwei packages sein? Normalerweise geht man her und packt zentrale Datentypen und Interfaces in ein JAR das sowohl Server als auch Client benutzen.
Gruß
Ollie
-
So hab ich es ja jetzt auch gemacht
Nu brauch ich die Klasse eben nur noch einzubinden. War halt nur so das ein und die selbe Klasse in zwei unterschiedlichen packages war und beide nicht "gleich" waren.
*edit* Du hast aber recht, wenn ich darüber nachdenke was noch alles ins Project reinsoll ist es natürlich sinnvoller ein eigenes Package zu haben
Geändert von d4ex (07.03.08 um 11:40 Uhr)
-
07.03.08 14:17 #7
Vor allem in ein eigenes Jar. Ist ganz hilfreich wenn man ab und zu mal über die Abhängigkeiten nachdenkt, die man so in seinem Projekt hat

REINHAUN!
Ähnliche Themen
-
Problem beim Serialisieren von Java Klassen
Von AvS im Forum JavaAntworten: 17Letzter Beitrag: 11.05.09, 20:21 -
Problem beim serialisieren von komplexen Objekten (v.A. GregorianCalendar)
Von schneemensch im Forum Algorithmen & Datenstrukturen mit JavaAntworten: 5Letzter Beitrag: 26.07.07, 08:14 -
Fehlermeldung beim Serialisieren
Von mistirios im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 22.07.07, 17:47 -
Fehlermeldung beim Serialisieren
Von Schnacki im Forum JavaAntworten: 1Letzter Beitrag: 10.03.07, 18:23 -
Verzweiflung beim Serialisieren
Von fh_study im Forum VisualStudio & MFCAntworten: 1Letzter Beitrag: 22.02.05, 13:49





Zitieren

Login





