NetBeans peut générer une version série IDW pour une classe Java?
-
21-09-2019 - |
Question
Je voudrais supprimer certains avertissements pour certaines classes en générant une ID de version de série automatique. Dans Eclipse, ceci est trivial à faire - l'IDE peut générer un et automatiquement ajouter à la classe. Cependant, je ne vois pas cette fonctionnalité dans NetBeans. Est-ce disponible? Si oui, où est-il? Sinon, est-il un plugin qui peut activer?
La solution
En fait, ma solution à ce « problème » était désactiver cet avertissement dans la configuration de mon projet (j'utiliser Eclipse, mais je suppose que pour NetBeans est le même) que mon humble avis, il est un mauvais avertissement: ne pas avoir serialVersion est le choix le plus sûr, car la machine virtuelle Java calcule qui est unique sur le lancement (quelque chose comme le hachage de la classe), tout en ajoutant qu'il accable explicitement alors pour prendre soin de mettre à jour si et seulement si vous avez modifié incompatibles à votre code.
Alors, si vous ne se soucient pas de cela, il est préférable d'éviter cette valeur (cette façon, il est uniquement compatible avec la version qui sont compatibles que , mais avec quelques faux positifs: il pense que c'est pas compatible, mais en fait, il serait) au lieu de mettre là une valeur fixe que vous (probablement, dans mon cas) oublier de mettre à jour en cas de besoin, ce qui conduit à des erreurs de validité réelle (faux-négatifs: il pense qu'il est compatible mais n'est pas).
Autres conseils
Il est trivial de le faire manuellement aussi bien, à moins que vous avez besoin de rester compatible avec les instances existantes sérialisés. Il suffit de copier cette ligne dans la classe:
private static final long serialVersionUID = 1L;
Notez qu'il n'y a absolument aucune obligation pour le serialVersionUID
soit unique dans toutes les classes.
Pour désactiver ces avertissements dans Netbeans:
- Ouvrir: Outils -> Options
- Ouvrir: Editor -> onglet Indications
- Sélectionnez la langue: Java
- Décocher avertissements standard JavaC -> sérialisation
- OK
Je devais aussi effacer ~ / .netbeans / 6.8 / var / cache et redémarrez Netbeans pour effacer les avertissements de la liste des tâches.
(Pour utilisateur où demander la même question maintenant)
J'utilise nb7.4 et trouvé ce plug-in de nb6.5 à nb7.4
plug-in
Je l'ai testé dans nb7.4 et bien.
Pour la signification de la version Servial look id
serialVersionUID
si vous ajoutez explicitement vous pouvez faire tous les changements à votre classe sans uid de changement jusqu'à ce que vous avez pas votre classe sérialisés et stocker quelque part:
si vous créez la classe A sérialiser
fin puis le stocker sur la base de données
puis la fin changer de classe A ne pas effectuer plus compatible avec l'ancienne classe A,
quand quelqu'un essaie de charger l'objet sérialisé de la dernière classe A à la nouvelle classe A, il peut avoir des problèmes.
Lorsque vous changez de classe A et de la rendre compatible avec la dernière classe A, vous devez changer uid donc si quelqu'un essaie de le charger va se InvalidClassExceptions.