关于java:服务器和客户端类之间的串行版本ID不匹配问题

Serial version id mismatch issue between server and client class

本问题已经有最佳答案,请猛点这里访问。

我面临串行版本ID不匹配的问题。

我的服务器有serialversionid=20150301L的代码;而myt客户端代码存在差异,因此手动更改它,但仍然面临相同的问题。

错误:

1
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.io.InvalidClassException: com.fedex.supplies.j2ee.common.client.reqresp.CustomerDataRequest; local class incompatible: stream classdesc serialVersionUID = 20150901L, local class serialVersionUID = -955959537118369236.

我尝试了类似实现可序列化的选项,手动定义的serialversionid与服务器相同,但每次都会得到相同的错误。


尝试以下代码

1
private static final long serialVersionUID = 20150901L;

如果你不做privatestaticfinal,它将被忽略。