一个类中实现了2次序列化接口 java.io.Serializable,会出问题吗?

conrol 2011-04-18 04:59:33
一个UserVO类中部分代码如下
public class UserVO extends BaseVO implements UserDetails
其中
BaseVO为public class BaseVO implements Serializable, Cloneable, Comparable
UserDetails为spring中的安全方面类:org.acegisecurity.userdetails.UserDetails,查看源码,也实现了序列化接口
public abstract interface org.acegisecurity.userdetails.UserDetails extends java.io.Serializable

请问会不会出现问题,我们服务器上报了这个错误,不知道是不是和这个有关系,请大家帮忙分析一下
java.io.InvalidClassException: com.taiji.egov.framework.core.security.mvc.vo.UserVO; local class incompatible: stream classdesc serialVersionUID = -5333675903781944238, local class serialVersionUID = -5498546257338898049
...全文
93 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
conrol 2011-04-19
  • 打赏
  • 举报
回复
我在本地把UserVO类的序列化版本号显式的给出来,为服务器上的那个版本号-5333675903781944238,然后就不出错了,但是改为别的,自己定义的就会出相同的问题,我想问下既然是在程序中显式的给出版本号,为什么自己定义的不好使。网上查了一下,可能和jdk版本不一致有关系,本地是sun jdk 1.6.0_14,线上是ibm jdk 1.6。请高手给个合理的解释???拜托大家了。
yingzhuo2011 2011-04-18
  • 打赏
  • 举报
回复
实现一万次都没有问题。

只不过,两台机器上的同一个类的序列化版本号不一样啊。

你们弄成一样的不就行了吗?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧