序列化问题
程序员文章站
2022-03-23 19:01:49
我遇到的问题是这样的,当我打成jar包的是时候,项目如果访问项目,就会包序列化错误,什么是序列化,为什么要序列化,我再录一段我搜到的解释 https://www.cnblogs.com/xdp-gacl/p/3777987.html 作者孤傲苍狼 serialVersionUID的取值是Java运行 ......
我遇到的问题是这样的,当我打成jar包的是时候,项目如果访问项目,就会包序列化错误,什么是序列化,为什么要序列化,我再录一段我搜到的解释
https://www.cnblogs.com/xdp-gacl/p/3777987.html 作者孤傲苍狼
serialversionuid的取值是java运行时环境根据类的内部细节自动生成的。如果对类的源代码作了修改,再重新编译,新生成的类文件的serialversionuid的取值有可能也会发生变化。
类的serialversionuid的默认值完全依赖于java编译器的实现,对于同一个类,用不同的java编译器编译,有可能会导致不同的 serialversionuid,也有可能相同。为了提高serialversionuid的独立性和确定性,强烈建议在一个可序列化类中显示的定义serialversionuid,为它赋予明确的值。
显式地定义serialversionuid有两种用途:
1、 在某些场合,希望类的不同版本对序列化兼容,因此需要确保类的不同版本具有相同的serialversionuid;
2、 在某些场合,不希望类的不同版本对序列化兼容,因此需要确保类的不同版本具有不同的serialversionuid。
//这是一句很重要的话,如果你在所有的实体类中,已经加入了,这个,还报错,你可以试试把,有日期的实体类去掉这个接口,静态的也不能被序列化
上一篇: Golang中的三个点