アプリケーションの問題のトラブルシューティングを手伝ってほしいと頼まれました。
これが背景です - WAS 7 で実行されている JSF 1.2 アプリケーションがあります。これは 1 つの WAR です。チームは、JSF 2.0 モジュールであり、PrimeFaces コンポーネント ライブラリを使用する別の WAR を同じアプリケーションに追加しました。したがって、これは JSF 1.2 と JSF 2.0 の組み合わせです。WAS 7 には JSF 2.0 のネイティブ サポートがないため、mojarra jar を第 2 戦争の WEB-INF/lib に追加し、アプリケーション クラスローダーを PARENT_LAST に設定しました。
私が観察したもう 1 つのことは、このチームが application.xml の EAR の表示名と JSF 2.0 WAR の context-root 値がまったく同じになるようにアプリケーションを定義したことです。明確にするためにこのようにすべきではないことはわかっていますが、それを明確にするものは何も見つかりませんでした。
JSF 2.0 WAR からページを取得しようとすると、アプリケーションで以下のエラーが発生します。スタック トレースの数行だけを追加します。
Exception created : java.lang.NoSuchMethodError: javax/faces/context/FacesContext.getAttributes()Ljava/util/Map;
at org.primefaces.lifecycle.RestoreViewPhaseListener.afterPhase(RestoreViewPhaseListener.java:30)
at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
エラーの原因を特定するために、他に何を確認できますか?