多くの記事を見つけましたが@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>
しかし、それでも同じエラーです。誰かが私に何を試すのを手伝ってくれますか?