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?

Était-ce utile?

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 semble que hors de la boîte NetBeans ne supporte pas la fonction, mais les plug-in.

S'il vous plaît jeter un oeil à

lien 1 , lien 2 et lien 3

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:

  1. Ouvrir: Outils -> Options
  2. Ouvrir: Editor -> onglet Indications
  3. Sélectionnez la langue: Java
  4. Décocher avertissements standard JavaC -> sérialisation
  5. 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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top