IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

le fameux serialVersionUID


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut le fameux serialVersionUID
    bonjour @ tous,

    une petite question concernant cette étrange variables (voir titre)

    maintenant que j'ai compris à quoi elle servait :
    bien faire correspondre les différentes classes


    je voudrait savoir qui est ce qui la gère : la JVM ou l'IDE dans lequel on développe ou nous même.

    Parce eclipse (mon IDE) me génére un avertissement si je n'en mets pas
    il me la génére, et l'avertissement disparait
    et si j'en mets une moi même pas d'avertsissemnt non plus

    donc à qui revient la responsabilité de cette variable ?

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par sliderman
    donc à qui revient la responsabilité de cette variable ?
    C'est à la charge du développeur. Il doit changer cette valeur à chaque modification incompatible (par exemple ajout d'un nouvel attribut non-transiant).

    S'il ne le fait pas, un numéro sera généré automatiquement, selon plusieurs critères, mais qui génèrera de nombreuse incompatibilité inutilement (par exemple, l'ajout d'une méthode pourrait provoquer une incompatibilité, même si elle ne rentre pas en compte dans le processus de sérialisation).


    Plus d'info :


    a++

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 95
    Par défaut
    L'IDE utilise la JVM pour la générer

  4. #4
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut déterrage!
    Je déterre cette discussion pour parler de la gestion du serialVersionUID pour des classes dans un gros projet avec pas mal d'intervenants.
    en gros:
    - quand une classe évolue elle n'est pas forcément incompatible avec la version précédente du point de vue de la Serialization/deSerialization: les règles sont relativement complexes...
    - quand elle devient incompatible avec la version précédente que vaut-il mieux faire? : ne pas modifier le serialVersionUID et laisser les gens se planter ou modifier le serialVersionUID (et laisser les gens se planter ...)
    J'opte pour le fait de changer le serialVersionUID.
    Bon.
    Maintenant une autre question: je demande aux développeurs de mémoriser les règles et de modifier le numero de version uniquement quand il créent une nouvelle version incompatible .... ou on fait ça automatiquement?
    Automatiquement ça voudrait dire que je serais capable d'adjoindre à la chaine de génération du projet un truc qui détecte l'incompatibilité et régénére le serialVersionUID. (en gros ça pourrait être : j'écris dans un fichier un objet nouvelle version et je le lis dans ce fichier avec l'ancienne version: si ça plante on appelle serialver à la rescousse).
    Moui......
    Vous faites ça vous de manière portable? (j'ai ici une chaîne avec Maven, Jenkins et tout le toutim).
    retours d'expériences bienvenus
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 15/03/2006, 16h27
  2. [Warning] serialVersionUID
    Par Mister Nono dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 19/12/2005, 17h03
  3. [NetBeans] serialVersionUId ? Empêche un bon jar ?
    Par Telemak dans le forum NetBeans
    Réponses: 9
    Dernier message: 31/10/2005, 15h08
  4. serialVersionUID
    Par BernardT dans le forum Langage
    Réponses: 7
    Dernier message: 29/07/2005, 16h13
  5. le fameux scrolling
    Par tanmieu dans le forum DirectX
    Réponses: 4
    Dernier message: 27/05/2003, 23h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo