我找到了很多文章@ViewScoped
,java.io.NotSerializableException
但对我的情况没有任何帮助。也许是因为我使用的是 CDI @ViewScoped
,而且大多数较早的问题都是关于@ManagedBean
. 再生产:
我有一个带有以下注释的演示模型:
@javax.inject.Named
@javax.faces.view.ViewScoped
public class WishPM implements Serializable{
[...]
}
部署工作正常。此外,当我使用此 PM 访问页面时,一切都很好。但是,在更改某些内容后现在重新部署项目时,我得到:
INFO: Cannot serialize session attribute com.sun.faces.application.view.activeViewContexts for session ad1a37e9cf5e1445cabc04a944e0
java.io.NotSerializableException: org.jboss.weld.bean.ManagedBean
[...]
WARNING: Unable to restore sessions for web module [/wish] from previous deployment
java.lang.NullPointerException
如果我使用@SessionScoped 或@Requestscoped,则不会发生这种情况。从其他线程我有提示在 web.xml 中将 STATE_SAVING_METHOD 设置为服务器。它没有设置为客户端,所以它应该是默认值。但我完全设置了它:
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
但仍然是同样的错误。有人可以帮我尝试什么吗?