反序列化会话数据时出现InvalidClassException错误

时间:2013-12-02 21:23:22

标签: java spring serialization weblogic apache-commons

这是调用代码:

Object attribute = session.getAttribute(name, scope);

这引发了以下错误:

Could not deserialize session data.
java.io.InvalidClassException: org.apache.commons.lang.time.FastDateFormat; local class  incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = -7186497712641044641

环境是Weblogic。 Web应用程序是一个spring portlet。我正在努力了解如何解决这个问题。

1 个答案:

答案 0 :(得分:3)

必须将commons-lang添加到weblogic.xml的“首选应用程序包”部分才能解决此问题。

<container-descriptor>
    <prefer-application-packages>
        <package-name>org.apache.commons.lang.*</package-name>
    </prefer-application-packages>
    <optimistic-serialization>true</optimistic-serialization>
    <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>