readobject-Methode throws ClassNotFoundException
Ich versuche zu Holen, Java und testen wollte, um mit der Java-client/server die client senden ein einfaches Objekt einer selbst definierten Klasse(Message) an den server. Das problem war, dass ich immer eine ClassNotFoundException auf der server-Seite.
Ich denke, der rest des codes scheint in Ordnung zu sein, da andere Objekte wie String kann ohne Probleme.
Hatte ich zwei verschiedene netbeans-Projekte an verschiedenen Standorten für client und server.
Jeder von Ihnen haben Ihre eigene Kopie der Message-Klasse unter den entsprechenden Paketen.
Message-Klasse implementiert Serializable.
Auf der client-Seite, ich Versuch eine Nachricht zu senden Objekt durch.
Auf der server-Seite nach dem Aufruf der readObject-Methode scheint es zu sein, finden, Klasse Nachricht aus dem client-Paket statt es selbst. printStackTrace zeigte: "java.lang.ClassNotFoundException: client.Nachricht" auf der server-Seite
Ich habe nicht einmal versucht, zu Gießen oder zu speichern, die das Objekt empfangen noch. Gibt es etwas, das ich ausgelassen habe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Paketname und Klassenname müssen genau das gleiche auf beiden Seiten. I. e. write once, compile mal und dann geben wir die beiden Seiten der gleichen kopieren. Verfügen nicht über separate
server.Message
undclient.Message
Klassen, aber mit einem einzigenshared.Message
Klasse oder sowas.Wenn Sie garantieren können das gleiche Paket/Klasse name, aber nicht immer, wenn es genau das gleiche kopieren, dann müssen Sie einen
serialVersionUID
Feld mit dem gleichen Wert, um die Klasse(N) in Frage stellen.Der Grund dafür ist, dass die readObject() in ObjectInputStream praktisch umgesetzt: