Jak wygenerować UID wersji szeregowej w Intellij

Kiedy użyłem Eclipse miał miłą funkcję generowania UID wersji seryjnej.

Ale co robić w IntelliJ?

Jak wybrać lub wygenerować identyczny UID wersji szeregowej w IntelliJ?

I co zrobić, gdy zmodyfikujesz starą klasę?

Jeśli nie podałeś id, zostanie on wygenerowany w czasie wykonywania...

Author: Helder Pereira, 2014-07-04

5 answers

Bez żadnych wtyczek:

Po prostu musisz włączyć podświetlanie: (Idea v. 2016, 2017 i 2018, poprzednie wersje mogą mieć takie same lub podobne ustawienia)

File -> Settings -> Editor - > Inspections - > Java - > Serialization issues - > Serializable class without 'serialVersionUID' - set flag and click 'OK'. (W przypadku komputerów Mac ustawienia znajdują się w IntelliJ IDEA -> Preferences...)

Teraz, jeśli twoja klasa zaimplementuje Serializable, zobaczysz highlight i alt+Enter na nazwie klasy zapyta do wygenerowania private static final long serialVersionUID.

UPD: szybszy sposób na znalezienie tego ustawienia - możesz użyć skrótu klawiszowego Ctrl+Shift+A (Znajdź akcję), wpisz Serializable class without 'serialVersionUID' - pierwszy to ten.

 342
Author: Serhii Maksymchuk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-10 13:55:38

Najprostsza metoda: Alt+Enter na

private static final long serialVersionUID = ;

IntelliJ podkreśli przestrzeń po =. umieść na nim kursor i naciśnij alt+Enter (Option+Enter Na Mac). Pojawi się okienko z napisem "losowo Zmień inicjalizator serialVersionUID". Wystarczy nacisnąć enter, a to wypełni tę przestrzeń losową długością.

 84
Author: jeremysprofile,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-06-25 20:32:08
 32
Author: Meo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-17 10:27:12

IntelliJ IDEA Plugins / GenerateSerialVersionUID https://plugins.jetbrains.com/plugin/?idea&id=185

Bardzo ładny, bardzo łatwy w instalacji. możesz go zainstalować z menu Wtyczki, wybrać opcję install from disk, wybrać plik JAR, który rozpakowałeś w folderze lib. restart, control + ins, i wyskakuje, aby wygenerować serial UID z menu. uwielbiam to. :-)

 2
Author: Patch Rhythm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-05 18:52:39

Z edytorem kodu, Otwórz klasę, dla której chcesz utworzyć UID , Kliknij prawym przyciskiem myszy - > Generuj - > SerialVersionUID. Może być konieczne zainstalowanie wtyczki GenerateSerialVersionUID, aby to działało.

 0
Author: mykey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-06 17:27:29