我从去年开始使用Play 1.2.7,但现在我想将我的播放应用更新到1.3.0(今年发布)。我在使用相同MemCachedServer的不同服务器上有许多应用程序。
当我更新我的一个应用程序以播放1.3.0时,很多缓存请求都抛出此异常:
java.io.InvalidClassException: play.db.jpa.JPABase; local class incompatible: stream classdesc serialVersionUID = -8484463844661198826, local class serialVersionUID = 1652293225498724720
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
我打开了JPABase的源代码,它实现了Serializable(但是没有明确声明serialVersion),我认为我的一个应用程序是使用Play 1.2.7的JPABase在Cache上设置对象,当其他人尝试从缓存中获取此对象(使用Play 1.3.0的JPABase)会引发异常。
有没有人遇到过这个问题?任何人都可以帮助我吗?
非常感谢!