JSF 2.0 をサポートする Web アプリケーションがあります。Eclipse Indigo と Oracle Enterprise Pack for Eclipse (OEPE) を IDE として使用しています。問題は、プロジェクトに openfaces 3.0 を追加すると、ページを開くときにエラーが発生することです。
"java.lang.IllegalStateException: 同じリクエストで同じフェーズの 2 番目の通知が発生しました。phaseId.ordinal: 1; phaseId = RESTORE_VIEW 1; 複数の org.openfaces.component.validation.ValidatorPhaseListener が登録されていることがわかりました (2) . アプリケーションのクラスパスを使用して 1 つの JSF 実装のみがデプロイされていること、およびアプリケーションとサーバーのライブラリで openfaces.jar が重複していないことを確認してください。
標準の Eclipse ツールで EAR をエクスポートし、コンソール経由で Weblogic にデプロイすると、すべて正常に動作します。Weblogic プロパティで「展開されたアーカイブとして公開」を設定すると、同じことが起こります。_auto_generated_ear_
ということで、問題は「仮想アプリケーションとして公開」を設定した場合にアプリケーションがどちらを使うか、OEPEの作り方と使い方にあるようです。展開されたアーカイブを操作しようとしましたが、ホットスワップが機能せず、公開時間が途方もないため、ほぼ不可能です。アプリケーションが公開されている間、お茶を入れて飲むことができます。_auto_generated_ear_
では、 OEPEがリソースを使用する方法を変更することは可能ですか?