- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我已将我的 Java 版本从 1.6 更新到 1.8。当我尝试在 weblogic (12c) 中部署我的项目时,出现以下错误。
java.io.InvalidClassException: org.springframework.beans.PropertyAccessException; local class incompatible: stream classdesc serialVersionUID = -5171479712008793097, local class serialVersionUID = 736080306599024264
我是否需要重新生成 serialVersionUID ,它是使用 java 1.6 版创建的?
请帮忙
谢谢,
拉吉
最佳答案
是的,编译器版本很重要。 Serializable
Javadoc 说(部分)
If a serializable class does not explicitly declare a serialVersionUID, then the serialization runtime will calculate a default serialVersionUID value for that class based on various aspects of the class, as described in the Java(TM) Object Serialization Specification. However, it is strongly recommended that all serializable classes explicitly declare serialVersionUID values, since the default serialVersionUID computation is highly sensitive to class details that may vary depending on compiler implementations, and can thus result in unexpected
InvalidClassExceptions
during deserialization.
关于java - 不同的java版本会创建不同的serialVersionUID吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37253009/
这个问题已经有答案了: What is a serialVersionUID and why should I use it? (25 个回答) 已关闭 6 年前。 您好,我有一个关于 SerialV
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 8 年前。 Improve t
我在java中使用序列化类,在这些类中我需要指定serialVersionUID和一些要初始化的长数字。默认情况下为 private static final long serialVersi
public static List abc = new ArrayList(){{ //Asks for SerialVersionUID abc.add(5L);
我目前正在编写一个项目,其中有一个可序列化的类 ClientRepository。该类不指定任何serialVersionUID。当我尝试运行我的程序时,出现以下异常: Exception in
这是我试过的: 我使用 -Xlint:serial 选项构建项目,但收到此警告: MyClass.java:42: warning: [serial] serializable class has
在我的 Java 程序中添加文档时,我意识到大多数类都需要声明一个 serialVersionUID 常量属性。我究竟应该如何记录这个属性?如果我使用默认与生成的串行版本 UID,我是否会以不同的方式
我在一篇文章中看到,JVM默认提供的serialVersionUid是一个对象的hashcode。如果我们不重写类中的hashcode方法,通常hashcode是对象的内存地址,反序列化时如何计算ha
我正在尝试开发我的个人图书馆类(class),但遇到了障碍。我的实用程序类包含静态方法和常量,以及用于各种数据结构和子实用程序的几个公共(public)内部类。这些类不是静态嵌套类,它们旨在被实例化、
我已经阅读了一些有关 Java 如何控制对可序列化对象的访问的问题和讨论。我的问题是关于外部化对象以及为什么serialVersionUID应该影响它。我期望答案是“因为Externalized接口(
这个问题在这里已经有了答案: 关闭10 年前。 Possible Duplicate: What does it mean: The serializable class does not decl
serialVersionUID 字段未命名为 SERIAL_VERSION_UID 是否有任何可行的原因? 根据 java.io.Serializable 的文档: A serializable c
当我在 Eclipse 中创建实现 Serializable 接口(interface)的 Java 类时,我收到警告 The serializable class ABCD does not dec
这个问题在这里已经有了答案: What is a serialVersionUID and why should I use it? (25 个答案) 关闭 9 年前。 在我的采访中,我有一个问题如
这个问题在这里已经有了答案: What is a serialVersionUID and why should I use it? (25 个答案) 关闭 4 年前。 如果我改变这个方法: pub
如果我实现 Externalizable,我是否需要在该类中指定 serialVersionUID 以实现版本兼容性? 换句话说,Java 在反序列化 Externalizable 对象时是否检查 s
我是 java 的新手,我有一个 Products 类,它是 Serializable。我不知道我做了什么,但我的程序停止工作并给了我这个错误: Exception in thread "main"
这个问题在这里已经有了答案: What is a serialVersionUID and why should I use it? (25 个答案) 关闭 9 年前。 每当我们尝试 seriali
我遇到了一个扩展异常的异常处理程序类,如下所示: public class AppFileReaderException extends Exception { //Explicit seri
如果我为我的类编写了一个 serialversionUid,比如 1234,并且我知道我的程序中没有其他类使用它,这样好吗,还是我总是必须使用编译器生成的 uid? 最佳答案 serialVersio
我是一名优秀的程序员,十分优秀!