Creé el cliente y el servidor y luego agregué una clase en el lado del cliente para propósitos de serialización, luego simplemente fui a la carpeta del cliente en mi disco duro y copié y pegué al ubicación correponder del servidor, ambos classname.class
y classname.java
respectivamente.java.io.InvalidClassException: clase local incompatible:
funcionó bien en mi propio ordenador portátil, pero cuando quería continuar mi trabajo en otro sistema, cuando abrí las carpetas de los proyectos y al cliente intenta conectarse al servidor, aparece el siguiente error:
Exception in thread "main" java.io.InvalidClassException: projectname.clasname; local class incompatible: stream classdesc serialVersionUID = -6009442170907349114, local class serialVersionUID = 6529685098267757690
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
¿Qué está pasando? ¿Es porque ejecuté el programa con una versión anterior del IDE?
EDITAR
import java.io.Serializable;
import java.net.URL;
public class KeyAdr implements Serializable{
private static final long serialVersionUID = 6529685098267757690L;
public URL adr;
public String key;
}
cómo ajustar el serialVersionUID en la definición? – lonesome
aún ocurre el mismo error – lonesome
Eso es extraño. Verificaría que ambas partes estén usando la versión más nueva de la clase. – trutheality