Je voudrais supprimer des avertissements pour certaines classes en générant une carte de version de série automatique. Dans Eclipse, cela est trivial à faire - l'IDE peut en générer une automatiquement et l'ajouter à la classe. Cependant, je ne vois pas cette fonctionnalité dans Netbeans. Est-ce disponible? Si oui, où est-ce? Sinon, existe-t-il un plugin qui peut l'activer? P>
5 Réponses :
Ceci est trivial à faire manuellement également, sauf si vous devez rester compatible avec les instances sérialisées existantes. Copiez simplement cette ligne dans la classe: Notez qu'il n'ya absolument aucune exigence pour le SerialVersionSionUID code> unique sur des classes. p> p>
Bien que cela soit une bonne suggestion, j'ai décidé d'ignorer l'avertissement car il n'est pas important d'avoir sur ce projet particulier. Je n'ai tout simplement pas aimé l'avertissement montrant.
En fait, ma solution à ce "problème" était de désactiver cet avertissement em> strong> dans ma configuration du projet (j'utilise Eclipse mais je suppose que les NetBeans sont les mêmes) que l'IMHO c'est un mauvais avertissement: ne pas avoir strud> une série de Serialversion est le choix le plus sûr car le JVM calcule un unique sur le lancement (quelque chose comme le hachage de la classe) tout en ajoutant explicitement, alors battons vous Strong> Prendre soin de la mettre à jour si et seulement si vous avez apporté des modifications incompatibles à votre code. P>
Donc, si vous ne vous souciez pas de cela, il vaut mieux éviter cette valeur (cette manière compatible avec la version compatible
Cela dépend de la manière dont vous utilisez la sérialisation. Si vous serez des cours sérialisés sur différents JVM, c'est-à-dire d'une JVM à une autre, cela peut provoquer des incompatitilations.
Il semble que cette approche fonctionne mieux sur mon projet actuel, mais je n'ai pas vu de place pour transformer cet avertissement partout (et que de nombreuses annotations d'avertissement semble mauvais) dans Netbeans.
L'utilisation de la version ne peut pas entraîner une série de sérialisation entre deux JVM ou entre différents systèmes d'exploitation, ou différentes versions Java et d'autres cas réels, de sorte que vous devez partager des objets Java sur différents systèmes, il est très recommandé d'utiliser l'ID de version, même si vous Enregistrer des objets, fermez le système puis mettez à jour que la JVM pourrait conduire à casser la sérialisation.
Pour désactiver ces avertissements dans Netbeans: P>
J'ai aussi dû effacer ~ / .Netbeans / 6.8 / var / cache et redémarrer Netbeans pour effacer les avertissements de la liste des tâches. P>
(pour l'utilisateur qui demande la même question maintenant)
J'utilise NB7.4 et j'ai trouvé ce plugin à partir de NB6.5 à NB7.4
Plugin
Je l'ai testé dans NB7.4 et travaille bien.
Pour la signification de la version serviale, je regarde
SerialversionSionUID
Si vous l'ajoutez explicitement, vous pouvez tout changement à votre classe sans changer d'UID avant de ne pas avoir votre classe sérialisée et de stocker quelque part:
Si vous créez une classe A Serialize IT
End puis rangez-le sur la base de données
fin, puis changez la classe A ne faisant plus compatible avec l'ancien classe A,
Lorsque quelqu'un essaie de charger l'objet sérialisé de la dernière classe A à la nouvelle classe A, il peut avoir un problème. p>
Lorsque vous changez de classe A et que vous le faites incompatible avec la dernière classe A, vous devez changer d'UID afin que quelqu'un essaie de charger, il obtiendra desceptions invalides. p>