在某些需要用到对象序列化的应用中,比如EJB,如果我们因为系统的升级更新了客户端或者服务器端一方的Java类,而另一方因为某些原因不能更新时,如果没有给Java类加上一个serialVersionUID属性,会出现在反序列化时因为版本不同而出现异常的情况,如果新版本的类其实是能够兼容旧版本的类的,比如只是增加了一个属性,是完全可以把旧版本的类凡序列化为新类的,这时我们需要给这个类添加一个固定值的serialVersionUID属性来避免这种情况的发生。详细情况可以浏览:http://java.sun.com/j2se/1.4.2/docs/guide/serialization/spec/class.html。
为了方便使用,我给Eclipse 3.0.1(我自己使用的版本)写了一个插件,使用ObjectStreamClass的getSerialVersionUID方法生成serialVersionUID的值。

下载插件 或者 浏览插件页面
发表于 @ 2005年01月24日 20:27:00|评论(loading...)|编辑