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

Servlets/JSP Java Discussion :

[Serializable]Warning, quel incidence ?


Sujet :

Servlets/JSP Java

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�

    Profil pro
    Laveur
    Inscrit en
    Avril 2004
    Messages
    142
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Laveur

    Informations forums :
    Inscription : Avril 2004
    Messages : 142
    Par d�faut [Serializable]Warning, quel incidence ?
    Bonjour,

    J'ai une classe telle que :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    import java.io.Serializable;
    public class UtilisateurVO implements Serializable{
    ...
    }
    Seulement, j'ai un warning de la part d'Eclipse qui m'interpelle :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    The serializable class UtilisateurVO does not declare a static final serialVersionUID field of type long
    Donc il me propose d'ajouter 2 solutions :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    private static final long serialVersionUID = 1L;
    ou bien :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    private static final long serialVersionUID = 451921994909189867L;

    J'aimerai avoir quelques explications et l'utilit� de ce warning ?

    Merci.


    Bon j'ai trouv�, merci . Mais je n'ai pas tres bien saisi l'incidence si j'ignore le probl�me :


    http://ydisanto.developpez.com/tutor...n/partie1/#LII

  2. #2
    Membre exp�riment�
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 895
    Par d�faut
    Hello

    Cela n'est pas tr�s grave. Mais bon, comme on aime bien le code avec 0 erreurs et 0 warnings, ajoutes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    private static final long serialVersionUID = 1L;
    Ca le fera

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne r�pond � aucune question technique par MP.

  3. #3
    Membre chevronn�

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par d�faut
    L'attribut serialVersionUID d'une classe s�rialisable permet au compilateur de savoir si une classe en m�moire a la m�me version qu'une autre.

    Je m'explique, si tu n'en d�finit pas un toi m�me, lors de la compilation, le compilateur en cr�e un. Imagine que tu as un EJB qui utilise la m�me classe A pour le client et pour le serveur. Si tu recompile le client, ta classe A de ton client aura un nouvel serialVersionUID, mais ton server n'ayant pas �t� recompil�, son serialVersionUID n'a pas chang�.
    La JVM trouvera donc que les classe n'ont pas les m�me version et g�n�rera une erreur.

    L'attribution manuelle est effectivement pr�f�rable dans les cas o� tu veut pouvoir g�rer � la main les versions de tes classes. Mais � part dans des cas tel que d�crit (utilisation d'EJB par exemple), sinon, ces num�ro de version n'ont pas la n�cessit� r�elle de changer. Bien s�r, l'utilisation de ce num�ro peut avoir des application beaucoup plus complexe que celle d�crite, si tu veut en savoir plus, cherche donc des explication sur la s�rialisation.

    Ce que je te conseil, pour �viter les warning, c'est de d�finir toi m�me un serialVersionUID, celui ayant la valeur 1L n'est pas � conseiller.

    En esp�rant avoir �claircit un peut la situation.

  4. #4
    Membre confirm�
    Inscrit en
    Ao�t 2004
    Messages
    171
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 171
    Par d�faut
    Ta �galement la r�ponse dans faq java...

  5. #5
    Membre confirm�

    Profil pro
    Laveur
    Inscrit en
    Avril 2004
    Messages
    142
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Laveur

    Informations forums :
    Inscription : Avril 2004
    Messages : 142
    Par d�faut
    Ok merci pour toute vos pr�cisions, et surtout de l'exemple !

    C'est officiel, ce topice a �t� RESOLU ;-)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Switch Procurve quel incidence aura un clear ARP ?
    Par llaffont dans le forum Administration
    R�ponses: 3
    Dernier message: 07/03/2012, 09h14
  2. R�ponses: 6
    Dernier message: 22/11/2007, 19h46
  3. [MySQL] quel type de champ pour un tableau serializ�
    Par lodan dans le forum PHP & Base de donn�es
    R�ponses: 2
    Dernier message: 17/11/2006, 14h37
  4. Comparer des fichiers de donn�es : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    R�ponses: 6
    Dernier message: 24/04/2002, 22h37
  5. Quel d�sassembleur/assembleur pour un exe Windows ?
    Par Anonymous dans le forum x86 32-bits / 64-bits
    R�ponses: 6
    Dernier message: 17/04/2002, 10h59

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