服务器和客户端之间的串行版本 ID 不匹配问题 class
Serial version id mismatch issue between server and client class
我遇到了串行版本 ID 不匹配的问题。
我的服务器有 serialVersionID=20150301L 的代码;
myt 客户端代码有差异所以手动更改它但仍然面临相同的问题。
错误:
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,但每次都出现相同的错误。
试试下面的代码
private static final long serialVersionUID = 20150901L;
如果你没有做到private
和static
和final
它将被忽略。
我遇到了串行版本 ID 不匹配的问题。
我的服务器有 serialVersionID=20150301L 的代码; myt 客户端代码有差异所以手动更改它但仍然面临相同的问题。
错误:
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,但每次都出现相同的错误。
试试下面的代码
private static final long serialVersionUID = 20150901L;
如果你没有做到private
和static
和final
它将被忽略。