Ayuda con esta excepción!!!!!!
Muy buenas noches, quisiera que me ayuden con el siguiente problema que tiene mi IDE netbeans 6.9.1 es que cuando ejecuto algun proyecto me sale esto "Error al cargar el archivo binaro: java.io.InvalidClassException: javax.swing.ImageIcon; local class incompatible: stream classdesc serialVersionUID = 532615968316031794, local class serialVersionUID = -962022720109015502" y no se qué hacer para arreglar dicho problema, espero contar con su ayuda. Gracias.
- bOhR19's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
Version de clases
Pues el
serialVersionUID
es una firma que se pone en cada clase como para saber la version, segun tengo entendido (que como güena practica) es calculada de acuerdo al contenido de los metodos y propiedades de clase para que (si exiten modificaciones) pueda saberse que al serializar la clase se esté usando la misma version. En tu caso, por lo que veo no es la misma version de clase o al menos el numerito no es el mismo. No basta qcon que una clase se llame igual y esté en el mismo paquete. ejemplo rapidopublic class Cosa{
private final long serialVersionUID = 12345...
private String cosaString;
// getter y setter
}
esta clase es diferente a esta otra
public class Cosa{
private final long serialVersionUID = 45678...
private String cosaString;
// getter y setter
public void hazAlgoMas(Objeto algo){
...
}
}
chechaste que la ultima tiene un metodo mas y hemos cambiado el serial version para que caudno quieras serializar ese objeto siempre sepas que estas usando la version de clase adecuada.
NOTA IMPORTANTE: Este numero no tiene que cambiar cada vez que compilas, solo cada vez que haces modificaciones en esa clase.
editado
Resumen: te ayuda a saber si la clase local/remota que usas es compatible con la que estas esperando serializar en tu codigo.