Lorsque j'ai utilisé Eclipse, il avait une fonctionnalité intéressante pour générer l'UID de la version série.
Mais que faire dans IntelliJ?
Comment choisir ou générer un UID de version série identique dans IntelliJ?
Et que faire lorsque vous modifiez l'ancienne classe?
Si vous n'avez pas spécifié le id
, il est généré au moment de l'exécution ...
java
serialization
intellij-idea
nazar_art
la source
la source
serialVersionUID
est générée par le compilateur lorsqu'elle n'est pas spécifiée. La spécification a l'avantage (et le danger) de garder l'identifiant identique pour les versions de classe modifiées. C'est-à-dire qu'un fichier avec un objet de l'ancienne version sera lu (désérialisé) avec la nouvelle version ou vice versa.Réponses:
Sans aucun plug-in:
Il vous suffit d'activer la mise en évidence: (Idée v.2016, 2017 et 2018, les versions précédentes peuvent avoir des paramètres identiques ou similaires)
Maintenant, si votre classe implémente
Serializable
, vous verrez surligner et alt + Entrée sur le nom de la classe proposera de générerprivate static final long serialVersionUID
.UPD: un moyen plus rapide de trouver ce paramètre - vous pouvez utiliser le raccourci clavier
Ctrl+Shift+A
(action de recherche), tapezSerializable class without 'serialVersionUID'
- le premier est celui.la source
Méthode la plus simple:
Alt
+Enter
surIntelliJ soulignera l'espace après le
=
. placez votre curseur dessus et appuyez suralt
+Enter
(Option
+Enter
sur Mac). Vous obtiendrez un popover qui dit "Changer de manière aléatoire l'initialiseur serialVersionUID". Appuyez simplement sur Entrée, et il remplira cet espace avec un long aléatoire.la source
Installer le plugin GenerateSerialVersionUID
la source
serialVersionUID
. Cela prend en charge le cas où vous avez mis à jour la classe enfant et devez générer un nouveau serialVersionUID pour cette classe sans changer le serialVersionUID de la classe parent (dans les cas où aucune modification n'a été apportée à la classe parent).Plugins IntelliJ IDEA / GenerateSerialVersionUID https://plugins.jetbrains.com/plugin/?idea&id=185
très agréable, très facile à installer. vous pouvez l'installer à partir du menu des plugins, sélectionnez installer à partir du disque, sélectionnez le fichier jar que vous avez décompressé dans le dossier lib. redémarrez, contrôlez + ins, et il apparaît pour générer l'UID série à partir du menu. aimer. :-)
la source
avec dans l'éditeur de code, ouvrez la classe pour laquelle vous souhaitez créer l'UID, faites un clic droit -> Générer -> SerialVersionUID. Vous devrez peut-être installer le plugin GenerateSerialVersionUID pour que cela fonctionne.
la source