Eclipse : serialVersionUID

Résolu
jcodeunpeu Messages postés 365 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 2 décembre 2006 - 21 nov. 2005 à 12:40
jcodeunpeu Messages postés 365 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 2 décembre 2006 - 22 nov. 2005 à 18:54
Bonjour,
qui saurait me dire, sous eclipse, ce qu'il faut faire lorsqu'on a une info-bulle qui apparait lorsqu'on pointe sur le nom de la classe et qui affiche :
The serializable class ... does not declare a static final serialVersionUID of type long.
j'ajoute que ça ne gene pas la compilation, mais ça devrait me gener pour la désérialisation ...
merci.

4 réponses

cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 9
21 nov. 2005 à 23:30
En fait si tu ne mets pas de champs serialVersionUID, le compilateur calcule une valeur suivant ton code. Donc à chaque modif de code, le serialVersionUID change.

Lorsque tu déserialise un objet, il compare le serialVersionUID de l'objet avec celui de la classe et te renvoie une erreur si ce n'est pas le même.

Pour moi, il n'existe pas de solution de contournement. Lorsque tu sérialises un objet, il faut s'assurer que tu ne vas pas modifier la classe après sinon l'objet n'est plus lisible.
3
cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 9
21 nov. 2005 à 12:57
Si c'est une classe à toi, tu peux ajouter une variable static final long serialVersioUID = 1L; et tu incrémentes cette valeur à chaque modif de la classe
0
jcodeunpeu Messages postés 365 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 2 décembre 2006 2
21 nov. 2005 à 16:00
Salut ducheseb,
merci, mais alors comment cela fonctionne ?
peut donner quelques détails sur la manipulation effectuée en rapport avec ce champ ?
de toute façon, je fais comme tu dis mais justement est-ce que ce ne serait pas la solution au probleme de désérialisation d'un objet alors qu'on a modifié la classe , entrainant une invalidClassDescException ou quelque chose dans le genre ?
0
jcodeunpeu Messages postés 365 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 2 décembre 2006 2
22 nov. 2005 à 18:54
Salut ducheseb,
bon ben ok, c'est ce que je craignais.
merci bien.
0
Rejoignez-nous