Eclipse 随每次更改自动生成串行版本 UID

Eclipse很好地为我生成了serialVersionUID。但这似乎是被动的代码生成,因为除非我再次进行生成,否则id不会在我更改文件时自动更新。

有没有办法在每次更改内容时生成串行VersionUID?“保存操作”似乎不包括这样的选项 - 有人找到了某种方法来做到这一点吗?

如果它可以与IDE保存操作或类似操作结合使用,这样我就可以在不影响序列化的情况下还原更改。

最好的问候, 头子

编辑:@gustafc:这有两个要点:

  • 如果我理解正确,不同的编译器可能最终会为serialVersionUID提供不同的值
    • 来自可序列化 API但是,强烈建议所有可序列化类显式声明 serialVersionUID 值,因为默认的 serialVersionUID 计算对类详细信息高度敏感,这些类详细信息可能因编译器实现而异,因此可能导致在反序列化期间出现意外的 InvalidClassException
  • 我正在使用一种命令模式,就像对象在服务器上做事一样。因此,即使对象内容未更改,也最好捕获客户端和服务器上的类内容不同的情况。
    • 但是,再想一想,这个wuoldn可能不适用于自动生成的价值,因为只有内容变化才能改变这一点?所以,实际上我想要一个自动递增的串行VersionUID

这听起来合理吗?

总而言之,经过更多的思考,每次更改时自动增量的串行VersionUID会更好...


答案 1

Eclipse 中没有标准功能来执行此操作。


答案 2

您可以在构建时使用 Ant SerialVer 任务更新串行版本。


推荐