java - 每次更改时 Eclipse 自动生成 serialVersionUID

标签 java eclipse code-generation serialversionuid

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

有什么方法可以在每次更改内容时生成 serialVersionUID? “保存操作”似乎不包含这样的选项 - 有人找到了执行此操作的方法吗?

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

最好的问候, 灯子

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

  • 如果我没理解错的话,不同的编译器可能会得到不同的 serialVersionUID 值
    • 来自 Serializable API :但是,强烈建议所有可序列化类显式声明 serialVersionUID 值,因为默认的 serialVersionUID 计算对类详细信息高度敏感,这些详细信息可能因编译器实现而异,因此可能在反序列化期间导致意外的 InvalidClassExceptions
  • 我正在使用某种命令模式,例如对象在服务器上执行操作。因此,即使对象内容没有改变,当类内容在客户端和服务器上不同时,也能很好地捕捉到这种情况。
    • 但再想一想,这可能不适用于自动生成的值,因为只有内容更改才会改变它吗?所以,实际上我想要一个自动递增的 serialVersionUID

这听起来合理吗?

Summa summarum,经过更多思考,每次更改时自动递增的 serialVersionUID 会更好......

最佳答案

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

关于java - 每次更改时 Eclipse 自动生成 serialVersionUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1464529/

相关文章:

java - 我想将 Eclipse 控制台日志保存到字符串中

Eclipse 一直要求输入 svn 密码

java - 使用代码生成来创建类似的 Java Action 类

dart - 如何从json结构生成Dart代码

java - 使用 java 进行 Sparql 查询

java - 从对象列表中获取值列表

java - Google App Engine (Java) 上的全文搜索

java - 终止 : libs to export not found on above classpath:/sikulixlibs/windows/libs64

serialization - Julia:在运行时生成代码并将其存储以供将来评估/执行

java - 线程 “main” java.lang.NoClassDefFoundError : javax/ws/rs/core/Response 中出现异常