`
y806839048
  • 浏览: 1120996 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

InvalidClassException:local class incompatible: stream classdesc serialVersionUI

阅读更多

local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 2427389723552147596

由序列化引起的类无效的错误原因

该错产生来自三个原因:

1.没有指定值:BEAN没有指定序列化值即由JDK给出,客户、服务端使用了不同版本的JDK。

=》解决:要使用相同JDK

2.没有指定值:某个类在与之对应的对象已经序列化出去后做了修改,而这个属性值由JVM根据类的相关信息计算,而修改后的类的计算结果与修改前的类的计算结果往往不同,从而造成对象的反序列化因为类版本不兼容而失败。

=》解决:要同时重启应用升级

3.指定值了:客户端BEAN和服务端的BEAN里面序列化值不同。

=》解决:最好指定,在JDK中,可以利用JDK的bin目录下的serialver.exe工具产生这个serialVersionUID,对于Test.class,执行命令:serialver Test。

 

分享到:
评论

相关推荐

    java.io.InvalidClassException local class incompatible 处理方法

    ### Java.io.InvalidClassException Local Class Incompatible 解决方案 在Java序列化过程中,经常会遇到`java.io.InvalidClassException`异常,特别是在序列化类时如果类的版本与反序列化环境中的类版本不一致的...

    p29814665_122130_Generic.zip

    29448643 JAVA.IO.INVALIDCLASSEXCEPTION: FILTER STATUS: REJECTED 29671623 CVE-2019-2725 26403575 CVE-2016-7103 29667975 CVE-2019-2824 29726561 CVE-2019-2729 29701537 CVE-2019-2827 1.2 Oracle WebLogic ...

    Weblogic9异常解决nested errors.txt

    local class incompatible: stream class desc serialVersionUID = 4418622981026545151, local class serialVersionUID = -9120448754896609940 ``` 这个错误的关键在于`serialVersionUID`的不匹配。在Java中,`...

    java.io.InvalidClassException(解决方案).md

    常见的问题

    weblogic 在Eclipse中的配置.docx

    2. `java.io.InvalidClassException`异常:这个异常可能是因为类路径或JDK版本不兼容。检查JDK配置,确保使用的JDK版本与WebLogic兼容。 解决这些问题的关键在于正确配置JDK,确保MyEclipse和WebLogic使用的JDK版本...

    JAVA常见异常...........

    4. **InvalidClassException**:无效的类异常,通常在反序列化时出现,因为类的版本与序列化时的版本不符。为解决此问题,可以在类上定义一个常量`serialVersionUID`以固定版本号,使序列化和反序列化兼容。 ```...

    Java中常见的异常以及解决方案

    public class MyClass implements Serializable { private static final long serialVersionUID = 1L; // 其他成员变量和方法... } ``` #### 六、不支持的字符集异常 (UnsupportedEncodingException) **定义:*...

    使用自定义ClassLoader解决反序列化serialVesionUID不一致问题 _ 回忆飘如雪1

    如果类的`serialVersionUID`在序列化和反序列化过程中不匹配,Java会抛出`InvalidClassException`。 标题和描述中提到的解决方案是通过自定义`ClassLoader`来处理`serialVersionUID`不一致的问题。以下是几种常见...

    JDK命令详解

    rmic[options]package-qualified-class-name(s) ``` **功能说明**: `rmic`编译器接收完全限定的类名作为输入,这些类实现了`java.rmi.Remote`接口,表示它们可以进行远程访问。`rmic`随后会生成相应的Stub和...

    序列化(三) 实例分析深入了解序列化

    如果不匹配,反序列化会抛出`InvalidClassException`。 6. **非序列化字段**: 有时我们不希望所有字段都被序列化,可以使用`transient`关键字标记这些字段。例如: ```java public class MyObject implements ...

    java串行化详细的介绍了java串行化的概念

    public class Save implements Serializable { private String name; public void save() throws IOException { FileOutputStream file = new FileOutputStream("foo"); ObjectOutputStream oos = new ...

    java serializable 序列化与反序列化

    public class MyObject implements Serializable { private String name; private int age; // getters and setters } ``` 4. **序列化过程**:使用`ObjectOutputStream`的`writeObject()`方法将对象写入流...

    如何正确的使用Java序列化技术

    当反序列化时,如果当前类的 `serialVersionUID` 与序列化时不同,则会抛出 `InvalidClassException`。 - **静态字段和瞬态字段**:默认情况下,序列化不包括类中的静态字段。同时,可以通过 `transient` 关键字标记...

    coreJava: serialVersionUID

    当Java在反序列化时检测到目标类的`serialVersionUID`与原始序列化数据中的`serialVersionUID`不匹配时,会抛出`InvalidClassException`,提示类的序列化版本不一致。默认情况下,JVM会根据类的字段和方法自动生成一...

    Java存储与读取对象.7z

    如果在反序列化时发现版本ID不匹配,会抛出`InvalidClassException`。 2. **对象的持久化存储** - **使用ObjectOutputStream**:要将对象写入到文件,可以使用`ObjectOutputStream`。它提供了`writeObject()`方法...

    java自动序列化

    如果手动指定,应保持在序列化和反序列化时一致,否则可能导致`InvalidClassException`。 七、序列化工具 1. `java.io.ObjectOutputStream`和`java.io.ObjectInputStream`:基础的序列化和反序列化工具类。 2. `...

    java 对象的序列化与反序列化

    如果类的版本更新导致结构变化,而此值未做更新,反序列化时会抛出`InvalidClassException`。因此,为了保证兼容性,有时需要显式声明`serialVersionUID`。 2. **序列化的作用**: - 持久化数据:将对象状态保存到...

    Java存储与读取对象.zip

    public class MyObject implements Serializable { private String name; private int age; // getters and setters } ``` 2. **序列化操作**:要序列化一个对象,我们可以使用`ObjectOutputStream`类。下面是一...

    java的一些基础代码

    反序列化时需要注意安全风险,如`InvalidClassException`和`ClassNotFoundException`。 4. **GUI(图形用户界面)**:Java提供了丰富的API来创建图形用户界面,如AWT(Abstract Window Toolkit)和Swing库。组件如...

    614.612.JAVA基础教程_IO流与网络编程-serialVersionUID的理解(614).rar

    在Java中,IO流(Input/Output Stream)和网络编程是两个至关重要的领域。本教程将深入探讨这两个主题,并特别关注`serialVersionUID`这个概念。`serialVersionUID`在Java序列化过程中起着关键作用。 首先,让我们...

Global site tag (gtag.js) - Google Analytics