【发布时间】:2012-08-30 21:04:57
【问题描述】:
我正在开发一个项目,我需要缓存一些需要这些类实现可序列化的类。我收到的错误类似于“classcastexception: class demo.x.t.y.A(any class I serialized) cannot be cast to class demo.x.t.y.A”。我的意思是类彼此完全相同。
经过深入尝试后,我发现该程序有效,当我使用 java 自己的实现可序列化的类而不是我的可序列化类时。我使用 netbeans 网站中建议的插件在 netbeans 中生成了 uuid。我很确定原因是我自己生成的 uuid,但为什么 uuid 不起作用?生成 uuid 后,我没有对类进行任何更改。
在serialversionUUID 以上的java 默认类中,有一条与此完全相同的注释“/** 使用JDK 1.0.2 中的serialVersionUID 实现互操作性*/”。这是否意味着我应该使用 jdk1.0.2 生成 uuid?我尝试了很多事情并对任何解决方案持开放态度。感谢您的回复。
为了帮助可能遇到相同问题的开发人员,我提供了一个我不想使用的解决方案。您可以单独缓存每个变量,而不是缓存整个类。
自从我的第一个问题以来,对于我写问题的任何错误,我们深表歉意。
编辑: 我正在使用servlet。当我运行 servlet 时它工作正常,但在另一个部署后它失败了。
【问题讨论】:
标签: java ehcache serializable