进行序列化时的,写入和读出的
serialVersionUID不一致

解决方案 »

  1.   

    哦,这是我以前写程序,是applet和servlet通信,接收servlet里的一个对象,以前没有什么问题的,有三个星期没有动了,程序都没有动,我昨天运行就出现了这个异常,对象类是自己定义的
    不知道该怎么解决,望帮忙
      

  2.   

    javax.swing.JComponent; 这个类里面有些方法你可能用错了!
      

  3.   

    会不会是jdk的缘故啊,可能你装了1.5了,而原先用1.4的
    1.5和1.4中有些方法还是不兼容的。
      

  4.   

    应该不会,我没有重装jdk,况且,我用jb都重新编译了,重新部署到jboss下,还是不行
      

  5.   

    这个是java序列化的问题,传送了自己定义的java类,这个类并且实现了java.io.Serializable这个接口。
    这个类被编译后,会产生一个serialVersionUID,然后部署到服务端,同样客户端也使用这个,如果这两个serialVersionUID 不一样或者说不兼容,那么就会报出以上错误。改正的办法是,使两边的这个类保持一致。或者主动的在类代码中加入
    类似这样的    private static final long serialVersionUID = -6849794470754667710L;
    就可以解决问题了。可我方法都试了 还是不能解决问题,还是那个异常  郁闷ing......
      

  6.   

    kypfos(夜色太漫长) ,很期待你的回复
      

  7.   

    是不是以前序列化后的文件还存在?,不然怎么会出现两个不同的UID?
    这个原因的出现一般是由没有定义private static final long serialVersionUID 的class A,在序列化一个A类的对象B之后又修改了该类A,而后又用到了以前序列化的对象B,这样A 与B便拥有了不同的UID