在JDK1。5中调试通过的文件,在1.6中运行,出现如下的错误:
警告:[serial ]可序列化类****中没有serial VersionUID的定义。
请教如何解决

解决方案 »

  1.   

    直接找到那个类点类名所在的那一行的提示符,make一个UID就行了啊。
      

  2.   

    不知道lz是什么意思,我们在序列化与反序列化的时候实现serializable接口就是了啊!
      

  3.   

    该警告可以无视之。“如果可序列化类未显式声明 serialVersionUID,则序列化运行时将基于该类的各个方面计算该类的默认 serialVersionUID 值,如Java(TM) 对象序列化规范中所述。不过,强烈建议 所有可序列化类都显式声明 serialVersionUID 值”如果你想要uid的话,eclipse等工具会自动帮你生成一个
      

  4.   

    这只是一个Warning,生成一个private static final long serialVersionUID = 8237733393465221707L;
    就可以了!
      

  5.   

    添加个private static final long serialVersionUID = 1L就行了;
    实际上可以不必加也没事
    serialVersionUID 用来表明类的不同版本间的兼容性
    简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。