Je souhaite supprimer certains avertissements pour certaines classes en générant un ID de version série automatique. Dans Eclipse, c'est trivial à faire - l'EDI peut en générer un automatiquement et l'ajouter à la classe. Cependant, je ne vois pas cette fonctionnalité dans NetBeans. Est-ce disponible? Si oui, où est-ce? Sinon, y a-t-il un plugin qui peut l'activer?NetBeans peut-il générer un ID de version série automatique pour une classe Java?
Répondre
En fait, ma solution à ce « problème » était de désactiver cet avertissement dans ma configuration de projet (j'utilise Eclipse mais je suppose que pour NetBeans est le même) que mon humble avis, il est un avertissement mal: ne pas avoir une serialVersion est le choix le plus sûr car la JVM en calcule un qui est unique au lancement (quelque chose comme le hash de la classe) tout en l'ajoutant explicitement puis charge vous pour prendre soin de le mettre à jour si et seulement si vous avez fait des changements incompatibles avec votre code .
Donc, 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 sûr, mais avec quelques faux positifs: il pense que ce n'est pas compatible, mais en fait ce serait) au lieu d'y mettre une valeur fixe que vous oublieriez (probablement, dans mon cas) de mettre à jour en cas de besoin, conduisant à des erreurs de validité réelles (faux négatifs: il pense qu'il est compatible mais il ne l'est pas).
Cela est également trivial à faire manuellement, sauf si vous devez rester compatible avec les instances sérialisées existantes. 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
être unique dans toutes les classes.
Bien que ce soit une bonne suggestion, j'ai décidé d'ignorer l'avertissement car ce n'est pas si important d'avoir sur ce projet particulier. Je n'ai juste pas aimé l'avertissement. –
Pour désactiver ces avertissements dans Netbeans:
- ouverts: Outils -> Options
- Ouvert: Editor -> Conseils tab
- Sélectionner 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
plugin
Je l'ai testé dans nb7.4 et le travail bien. Pour la signification du look id version Servial à
serialVersionUID
si vous l'ajoutez, vous pouvez explicitement faire toute modification de votre classe sans changement uid jusqu'à ce que vous avez pas votre classe sérialisés et stocker quelque part: si vous créez la classe A serialize il
fin puis enregistrez-le sur la base de données
fin puis 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 la classe A et la rendz incompatible avec la dernière classe A, vous devez changer l'uid, donc si quelqu'un essaie de le charger, il recevra InvalidClassExceptions.
- 1. Qu'est-ce qu'un ID de version série?
- 2. Contrôle de version NetBeans pour newb?
- 3. C# Recherche automatique d'une classe enfant par un ID unique
- 4. Générer une série de nombres dans MySQL
- 5. Générer des numéros de série
- 6. Démarrage automatique pour l'application de bureau Java?
- 7. CSS - Syntaxe pour sélectionner une classe dans un ID
- 8. Désactiver Netbeans automatique svn ignore?
- 9. Comment générer une série de moyennes horaires dans MySQL?
- 10. Auto-générer une AppSettings classe
- 11. Générer automatiquement un numéro de série dans gridview
- 12. Génération automatique de fichiers source et doc dans NetBeans
- 13. Windows Mobile, comment obtenir ID et série?
- 14. Générer tous les intervalles continus d'une série
- 15. modèles de classe automatique?
- 16. XSD et génération automatique de classe/message
- 17. Comment générer javadoc pour les tests unitaires dans netbeans
- 18. Excréter JPanel dans une nouvelle classe dans NetBeans
- 19. Groovy, Netbeans et Java EE
- 20. Comment générer une série de nombres en PHP avec un incrément de 0.25?
- 21. Netbeans: Puis-je utiliser Apache Felix pour un dépôt de librairies Java maintenu à domicile?
- 22. Qt version du logiciel automatique?
- 23. bonne classe de port série pour le framework .net?
- 24. Algorithme pour l'ajout automatique d'un ID unique à des doublons
- 25. Affichage de NetBeans où une classe PHP est définie
- 26. Java Netbeans BeanCreationException
- 27. Utilisation de netbeans et d'eclipse pour éditer un projet netbeans
- 28. En utilisant Fluent NHibernate Mapping automatique pour la carte ID d'objet de type de classe de base de l'entité
- 29. Détection automatique de la configuration d'un port série?
- 30. application pour générer diagramme Java hiérarchie de classes
Cela dépend de la manière dont vous utilisez la sérialisation. Si vous allez sérialiser des classes entre différentes JVM, c'est-à-dire d'une JVM à une autre, cela peut provoquer des incompatibilités. – Yishai
Il semble que cette approche fonctionnera mieux sur mon projet actuel, mais je n'ai pas trouvé d'endroit pour désactiver cet avertissement partout (et avoir beaucoup d'annotation d'avertissement de suppression semble mauvais) dans NetBeans. –
Et j'ai été capable de le trouver ... –